因为高度限制在1到100所以枚举每一个高度差i,i+17,然后计算费用
/*
ID:xsy97051
LANG:C++
TASK:skidesign
*/
#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
int n,h[1005],ans=100000000;
int main()
{
freopen("skidesign.in","r",stdin);
freopen("skidesign.out","w",stdout);
cin>>n;
for(int i=1;i<=n;i++)
cin>>h[i];
sort(h+1,h+1+n);
for(int i=1;i<=100-17+1;i++)
{
int tans=0;
for(int j=1;j<=n;j++)
{
if(h[j]<i)
tans+=(i-h[j])*(i-h[j]);
if(h[j]>i+17)
tans+=(h[j]-i-17)*(h[j]-i-17);
}
ans=min(ans,tans);
}
cout << ans << endl;
return 0;
}