//先一次快排。以后挪一挪。 //贪心。 //又想起WJMZBMR曾经用这道题演示C++的STL。这样不就几乎不用做了吗? #include<stdio.h> #include<stdlib.h> int comp(const void *p1,const void *p2) { return *((int *)p1)-*((int *)p2); } int main() { int i,n,j,a[10001]={0},s=0,t; scanf("%d",&n); for(i=0;i<=n-1;i++) scanf("%d",&a[i]); qsort(a,n,sizeof(int),comp); for(i=0;i<=n-2;i++) { a[i+1]=a[i]+a[i+1]; s+=a[i+1]; for(j=i+1;j<=n-2;j++) if(a[j]>a[j+1]) { t=a[j]; a[j]=a[j+1]; a[j+1]=t; } } printf("%d",s); return 0; }