poj2231

来源:互联网 发布:织梦cms拿站 编辑:程序博客网 时间:2024/06/06 06:57

题目大意:总结起来,相当于给出n个数,求这n个数的任意两个数的差值的绝对值的总和

解题思路:首先,要明确一点,这n个数的输入顺序对结果是没有影响的,为了方便计算,将这些数按照升序排列。

代码如下:

# include <iostream># include <algorithm>using namespace std;long long int a[100001];int main (){int N,i,j;long long int sum=0;scanf("%d",&N);for(i=1;i<=N;i++){scanf("%d",&a[i]);}sort(a,a+N+1);for(i=1;i<N;i++){j=N-i;sum+=j*(a[j+1]-a[i]);}cout<<sum*2<<endl;return 0;}


0 0
原创粉丝点击