滑雪场设计

由题意可知, 最后所有的山的高度都在一个相差17的区间之内,所以维持一个大小为17的区间,从小到大遍历即可

#include<bits/stdc++.h>
using namespace std;
const int N = 10000;
int a[N];
map<int,int>b;
int main()
{
   int n;
   cin >> n;
   for(int i = 0; i < n; i ++)
   {
       cin >> a[i];
   }
   int  res = INT_MAX;
  for(int i = 0; i <= 83; i ++)//假设i为最小高度
  {
      int ans = 0;
      for(int j = 0; j < n ; j ++)
      {
          if(a[j] < i)ans += abs(a[j] - i) * abs(a[j] - i);
          if(a[j] > i + 17)ans += (a[j] - i - 17) * (a[j] - i - 17);
      }
      if(ans < res)res = ans;
  }
   cout << res <<endl;
   return 0;
}


全部评论

相关推荐

像好涩一样好学:这公司我也拿过 基本明确周六加班 工资还凑活 另外下次镜头往上点儿
点赞 评论 收藏
分享
点赞 评论 收藏
分享
如题如果提出了一个薪资,A不成功,会有可能被取消offer吗
爱打瞌睡的柯基:最想去你们公司 但是别家开的高一些,希望能申请高一点 不管结果如何都谢谢你
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务