#476. 接水问题

接水问题

题目描述

nn 名同学在操场上排队接水,操场上有 rr 个水龙头可以同时使用。每个人接满一桶水所需的时间 t1,t2,,tnt_1, t_2, \ldots, t_n 为整数且各不相等,应如何安排他们的接水顺序才能使他们花费的总时间最少?

每个人接水的时间 = 排队等待的时间 + 实际接水的时间,本题假设一个人接满水后,排在他后面的人接着接水的这个切换过程不消耗时间。

比如,有 2 名同学 A 和 B,他们接水的时间分别是 3 和 2,只有 1 个水龙头,这时,如果 A 先接水,B 后接水,那么 A 和 B 接水的时间分别为 3、3+23+2(B 排队 3 分钟)。

因此,所有人接水的总时间就是每个人的接水时间及每个人的排队时间的总和。

输入格式

第 1 行,两个整数 nn1n5001 \le n \le 500)和 rr1r1001 \le r \le 100)。

第 2 行,nn 个正整数 t1,t2,,tnt_1, t_2, \ldots, t_n,(1ti10001 \le t_i \le 1000)表示每个人接满一桶水所需的时间。

输出格式

1 行,一个正整数,表示他们花费的最少总时间。

4 2
2 6 4 5
23