http://poj.org/problem?id=2231
在一个数轴上给出n个点。求这n个点 每个点到其他点距离的和的和,很简单的规律题,不难发现,每2个点之间的长度 都对最终答案贡献2次。
#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
long long int a[11111];
long long int ans;
int main(){
int n;
while(cin>>n)
{
//memset(ans,0,sizeof(ans));
int i;
for(i=1;i<=n;i++)
cin>>a[i];
sort(a+1,a+1+n);
int j;
long long int ans=0;
for(i=1;i<=n;i++)
{
for(j=i+1;j<=n;j++)
{
ans+=(a[j]-a[i])*2;
}
}
cout<<ans<<endl;
}
return 0;
}