算法学习笔记(53)——排序不等式

排序不等式

题目链接:AcWing 913. 排队打水

让最磨叽的人最后打水

img

如图所示,第一个同学被等了6次,第二个同学被等了5次,以此类推...

=t1×(n1)+t2×(n2)+t3×(n3)+

按照从小到大的顺序排队,总时间最小。

#include <iostream>
#include <algorithm>

using namespace std;

typedef long long LL;

const int N = 100010;

int n;    // 总人数
int t[N]; // 每位同学的打水时间

int main()
{
    cin >> n;
    for (int i = 0; i < n; i ++ ) cin >> t[i];
    
    sort(t, t + n);
    
    LL res = 0;
    for (int i = 0; i < n; i ++ ) res += t[i] * (n - i - 1);
    
    cout << res << endl;
    
    return 0;
}
posted @   S!no  阅读(134)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示