#10149. A饮水机守护者

内存限制:256 MiB 时间限制:1000 ms 标准输入输出
题目类型:传统 评测方式:文本比较
上传者: Krist

题目描述

某位著名球星在转会后,由于不适应新球队的打法,沦为了“饮水机看守者”,但是这位球员是一位很努力的人,即使被安排去收水,也得把水守护好,让同事们尽快打到水。 他发现,每次在中场休息的时候,会有 n(1<=n<=300000) 个人排队喝水。第 i 个喝水的人需要 ti(1<=ti<=1000000) 的时间。 每个人需要等待他前面的所有人喝够了水才能开始打水喝,请你安排一个拿水的顺序,使得所有人的等待时间的总和 T 最小。 输出这个等待总时间 T 。 当然,一台饮水机是完全不够的,为此,球队让他看守 m(1<=m<=300000) 台饮水机,可见这份工作也不是容易的。

输入格式

第一行,两个整数,分别是 n,m 。 第二行, n 个整数,第 i 个整数表示第 i 个人的喝水时间 ti

输出格式

共一行,第一行,一个整数 最小的等待总时间 T

样例

4 1
4 3 2 1

10