题目描述:
有 n 个人排队到 1个水龙头前打水,他们装满水桶的时间为t1,t2,...(tn为整数且各不相等),应如何安排他们的打水顺序才能使他们花费的时间最少?最少花费时间总和为多少?
输入格式:
共两行,第一行为n(1≤n≤1000);第二行分别表示第1个人到第n个人每人的接水时间T1,T2,…,Tn,每个数据之间有1个空格。
输出格式:
输出这种排列方案下的总等待时间。
样例输入1:
4 2 6 4 5
样例输出1:
36
#include<iostream>
#include<algorithm>
using namespace std;
int main(){
int a[1001],n,s[1001]={},sum=0;
cin>>n;
for(int i=1;i<=n;i++) cin>>a[i];
sort(a+1,a+n+1);
for(int i=1;i<=n;i++){
s[i]=a[i]+s[i-1];
sum+=s[i];
}
cout<<sum<<endl;
return 0;
}