0
点赞
收藏
分享

微信扫一扫

03排序不等式

夏木之下 2022-02-07 阅读 85
c++算法

排队打水

有 n 个人排队到 1 个水龙头处打水,第 i 个人装满水桶所需的时间是 t i t_i ti,请问如何安排他们的打水顺序才能使所有人的等待时间之和最小?

#include <iostream>
#include <algorithm>

using namespace std;

const int N = 1e5 + 10;

int n;
int t[N];

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

相关推荐

0 条评论