想法没错啊,是贪心,就是只过了第一个点。
查看原帖
想法没错啊,是贪心,就是只过了第一个点。
423006
傻肥狍子楼主2021/4/8 18:07
#include <bits/stdc++.h>
using namespace std;
long long h[10011];
long long sum,n;
int main()
{
	cin>>n;       //读入石头数量
	for(int i=1; i<=n; i++){
		scanf("%lld",&h[i]);            //每块石头的高度             
	} 
	sort(h+1,h+n+1);
		for(int i=0,j=n; i<=j;)
		{
			sum+=(h[j]-h[i])*(h[j]-h[i]);
			if(i==0){
				i++;
			} else if(i%2==0){
				i++;
			}else if(i%2!=0){
				j--;
			}
		}
	printf("%lld",sum);	
	return 0;
}
2021/4/8 18:07
加载中...