题意:
解法:
题目要求计算所有数对的绝对值差值的和.
那么数的顺序是无所谓的,
因此可以将数组从小到大排序,那么每个数左边的数一定比他小,
计算每个数与其左边的数的差值和即可.
code:
#include <bits/stdc++.h>
using namespace std;
#define int long long
const int maxm=2e5+5;
int a[maxm];
int n;
signed main(){
ios::sync_with_stdio(0);cin.tie(0);
cin>>n;
for(int i=1;i<=n;i++)cin>>a[i];
sort(a+1,a+1+n);
int sum=0;
int ans=0;
for(int i=1;i<=n;i++){
ans+=(i-1)*a[i]-sum;
sum+=a[i];
}
cout<<ans<<endl;
return 0;
}