uva 10954 Add All
思路就是最大的数相加次数最小,每次相加后的新数要重新排序。
#include<stdio.h> #include<string.h> #include<math.h> #include<algorithm> #include<iostream> using namespace std; int main() { int n,a[5009],i; long long int sum,t; while(~scanf("%d",&n)&&n) { for(i=0;i<n;i++) scanf("%d",&a[i]); sort(a,a+n); sum=0; for(i=1;i<n;i++) { a[i]+=a[i-1]; sum+=a[i]; sort(a+i,a+n); } printf("%lld\n",sum); } return 0; }
版权声明:本文为博主原创文章,未经博主允许不得转载。http://xiang578.top/