AcWing 1353. 滑雪场设计
原题链接
简单
作者:
术
,
2021-01-25 14:43:09
,
所有人可见
,
阅读 219
枚举0-100大小为17的区间
用贪心的话 会有各种处理麻烦
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
int n;
vector<int> v;
cin>>n;
for(int i=0;i<n;i++){
int a;
cin>>a;
v.push_back(a);
}
sort(v.begin(),v.end());
int ans=0x3f3f3f3f;
for(int i=0;i<=100-17+1;i++){//高度在0-100间 枚举
int j=i+17;
int res=0;
for(int k=0;k<n;k++){
if(v[k]>j) res+=(v[k]-j)*(v[k]-j);
else if(v[k]<i) res+=(v[k]-i)*(v[k]-i);
}
ans=min(res,ans);
}
cout<<ans;
//cout << "Hello world!" << endl;
return 0;
}