思路:
应该想到了就不难,只要先把数组排序,然后在数组的没有跳过的石头上,反复跳来跳去就可以
#include <cstdio>
#include <iostream>
#include <algorithm>
#include <cstring>
using namespace std;
int n,a[1111];
long long ans;
int main()
{
cin>>n;
for(int i=1;i<=n;i++) cin>>a[i];
sort(a+1,a+n+1);
int x=0,y=n;
ans+=a[n]*a[n];
while(x<y)
{
x++;
if(x>=y) break;
ans+=(a[y]-a[x])*(a[y]-a[x]);
y--;
ans+=(a[y]-a[x])*(a[y]-a[x]);
}
cout<<ans<<endl;
return 0;
}