计算机基础知识大赛 4
时间限制(普通/Java) :
1000 MS/ 3000 MS 运行内存限制 : 65536 KByte
总提交 : 85 测试通过 : 55
总提交 : 85 测试通过 : 55
比赛描述
事实上同学们是不会排成整齐的队伍的,现在就有n个人在摊位前围成一团,而且要是不能及时得到服务就会不高兴的。这可让XX有点犯难了,假如每个同学都把需要的服务时间写在脸上,同学 需要的服务时间为 。那么XX以怎样的顺序怎样才能让大家总的等待时间最短。求出最小等待时间。
输入
输入数据包含多组样例,每组包含两行。
第一行为一个整数n
第二行为n个人所需时间(空格隔开)
输出
对于每组样例,输出最小等待时间。
样例输入
3
1 2 3
3
1 2 3
样例输出
10
10
提示
undefined
题目来源
计算机基础知识大赛 2013
#include<iostream>
#include<algorithm>
using namespace std;
#define MAX_N 1000
int a[MAX_N];
int main(){
int n,i,r,sum;
while(scanf("%d",&n)==1){
for(i=0;i<n;i++){
scanf("%d",a+i);
}
sort(a,a+n);
r = sum = 0;
for(i=0;i<n;i++){
sum += a[i];
r += sum;
}
printf("%d\n",r);
}
}