编程题
### 问题描述 在一个工厂内一共有 $n$ 位工人,编号为 $1 \sim n$。此外在该工厂内仅有一台设备可以运行,对于第 $i$ 位工人而言,需要持续使用该设备 $t_i$ 秒。该设备在任何时刻都只能被一位工人使用,当其中一位工人使用该设备时,其他还没有使用过该设备的工人需要等待。请你合理安排工人的使用设备的顺序,使得所有工人的等待时间总和最小。 ### 输入格式 第一行包含一个正整数 $n$,其含义如上所述。 第二行包含 $n$ 个正整数 $t_1 \sim t_n$,其含义如上所述。 ### 输出格式 输出仅一个整数,表示所有工人的最小等待时间总和。 ### 样例输入 ```text 5 5 4 3 2 1 ``` ### 样例输出 ```text 20 ``` ### 说明 在样例中,按工人使用设备时间从小到大排序,第一位工人使用设备的时间是 $1$ 秒,后面四位工人共需要等待 $1*4=4$ 秒,第二位工人使用设备的时间是 $2$ 秒,后面三位工人共需要等待 $2*3=6$ 秒,第三位工人使用设备的时间是 $3$ 秒,后面两位工人共需要等待 $3*2=6$ 秒,第四位工人使用设备的时间是 $4$ 秒,后面一位工人需要等待 $4*1=4$ 秒,第五位工人使用该设备的时候,没有工人需要等待,因此等待时间总和是 $4+6+6+4=20$ 秒,可以证明 $20$ 秒是最小等待时间总和。 ### 评测数据规模 对于 $100$% 的评测数据,$1 \leq n \leq 10^5$,$1 \leq t_i \leq 10^9$。
查看答案
赣ICP备20007335号-2