acwing913. 排队打水

分析

后面的人要等前面的打完水才能开始打,所有要等待前面的t结束,那么将t从小到大排序,总等待时间就是最小。

#include<iostream>
#include<algorithm>
using namespace std;
const int N=1e5+10;
int n,w[N];

int main(){
    cin>>n;
    for(int i=1;i<=n;i++)scanf("%d",&w[i]);
    sort(w+1,w+n+1);
    long long res=0;
    for(int i=1;i<=n;i++){
        res+=w[i]*(n-i);
    }
    cout<<res<<endl;
    return 0;
}