看了别人的题解才会做的,我怎么就想不到枚举调整到的高度呢?????????????????
/*
ID: jinbo wu
LANG:C++
TASK: skidesign
*/
#include<bits/stdc++.h>
using namespace std;
int h[1005];
int main()
{
freopen("skidesign.in","r",stdin);
freopen("skidesign.out","w",stdout);
int n;
int sum;
int maxh=0;
scanf("%d",&n);
for(int i=0;i<n;i++)
{
scanf("%d",&h[i]);
if(maxh<h[i])
maxh=h[i];
}
int ans=1e9+7;
for(int i=0;i<=maxh;i++)
{
sum=0;
for(int j=0;j<n;j++)
{
if(h[j]<i)
sum+=pow((i-h[j]),2);
else if(h[j]-i>17)
sum+=pow((h[j]-i-17),2);
}
ans=min(ans,sum);
}
printf("%d\n",ans);
}