uva 10954 Add All

来源:互联网 发布:python基础教程第四版 编辑:程序博客网 时间:2024/04/28 18:36

思路就是最大的数相加次数最小,每次相加后的新数要重新排序。

#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;}

0 0
原创粉丝点击