题目:
核心:
贪心策略:每次都跳距离自己最远的石头
收获:双指针(下标)的使用
代码:
#include<iostream>
using namespace std;
# define M 100
#include<algorithm>
#include<math.h>
int sa[100005];int main()
{int n;cin>>n;for(int i=1;i<=n;i++){cin>>sa[i];}sort(sa+1,sa+n+1);int sum=pow(sa[n],2);int l=1;int r=n;while(l<r){if(l<r){sum+=pow(sa[r]-sa[l],2);r--;}if(l<r){sum+=pow(sa[r]-sa[l],2);l++;}}cout<<sum<<endl;
}