这两天的题目太水了,存个档
int main() {
int n,h[305]={0};
ll s=0;
cin>>n;
for(int i=1;i<=n;i++) cin>>h[i];
sort(h,h+n+1);
/*bool flag=1;
for(int i=0,p=0;i<n;i++) {
if(flag) {s+=pow((h[p]-h[p+n-i]),2);p+=n-i;flag=0;}
else {s+=pow((h[p]-h[p-n+i]),2);p-=n-i;flag=1;}
}*/
int start=0,end=n;
while(start<end) {
s+=pow((h[end]-h[start++]),2);
s+=pow((h[end--]-h[start]),2);
}//不用担心第一个后就start=end的情况,反正即使那样接下来第二个自己减自己等于0的
cout<<s;
return 0;
}
这篇博客探讨了一个关于数组排序和计算元素间距离的算法。程序首先读取n个整数并排序,然后采用优化的循环结构计算并累加相邻元素之间的平方差,输出总和。代码中注释掉的部分为另一种实现方式。该算法适用于处理数组数据并理解排序后的距离计算问题。

938

被折叠的 条评论
为什么被折叠?



