银行排队
时间限制: 1 Sec 内存限制: 128 MB题目描述
有n个人将要排队在银行办理业务,已知每个人办理业务所花费的时间,分别是t1,t2,t3...tn。现在,你可以重新安排他们的排队顺序,目的是为了使所有人从排队开始到业务办理完成花费的时间总和最少。现在你只需要告诉我,安排好后所有人花费的时间总和最少是多少?
输入
本题有多组测试数据。每组数据第一行给出一个正整数n,代表有n个人排队,其中n<=100。接下来一行有n个正整数,分别代表这每个人办理业务所需要花费的时间。
输出
对每个测试用例,在每一行里输出所有人花费时间的总和最少的值。
样例输入
5
3 1 2 2 1
10
2 1 3 1 3 4 5 8 7 4
样例输出
22
147
#include<iostream> #include<algorithm> using namespace std; int main() { int n,a[500]; while(cin>>n) { int sum=0; for(int i=0;i<n;i++) { cin>>a[i]; } sort(a,a+n); for(int i=0;i<n;i++) { sum+=a[i]*(n-i); } cout<<sum<<endl; } return 0; }