#include<stdio.h> #include<stdlib.h> #include<math.h> long long int a[100010]; int cmp(const void *a,const void *b) { return (*(long long *)b-*(long long *)a); } int main() { int n,i,j; long long int sum=0; scanf("%d",&n); for(i=0;i<n;i++) { scanf("%lld",&a[i]); } qsort(a,n,sizeof(long long ),cmp); for(i=0;i<n-1;i++) { for(j=i+1;j<n;j++) { sum+=(a[i]-a[j]); } } printf("%lld",sum*2); return 0; }
RE无数次,让我的rank降了不少
总结:一列数采用组合,效率很低,也就是暴力
RE原因是少了个&符,让我整整浪费2个小时
算法分析:在我所找到的组合中,算差值*2
对于一个10亿的数用long long int存
原文:http://www.cnblogs.com/gabygoole/p/4570474.html