AERODROM
时间限制:1秒 内存限制:256M
题目描述
由 \(m\) 人组成的某国代表团正前往澳大利亚参加 2013 年的 IOI。他们目前正在机场排队等候办理登机手续。有 \(n\) 个办理登机手续的服务台开放。一些官员的工作效率比其他官员高,所以服务台的运作速度不同。在第 \(k\) 个服务台,完成一名乘客的登机手续需要 \(t_k\) 秒,而我们的代表团成员恰好知道确切的数字。在开始时,所有的服务都做好接受下一名乘客的准备,而现在只允许我们的代表团成员排队。一个人只有在所有排在他前面的人都已经离开队列(**开始办理登机手续,不一定要完成**)时,才能占据一个可用的服务台开始办理登机手续。这时,这个人可以立即占据一张空闲的服务台(如果有的话),但也可以选择等待另一个办理登记手续更快的服务台变成空闲。
我们的代表团成员是计算机科学怪才,他们决定让他们所有人都尽快完成签到,你的任务是找到完成签到所需要花费的最短时间。
输入格式
输入共 \(n+1\) 行。
第一行两个整数 \(n,m\),分别表示服务台的个数和代表团的人数。
随后 \(n\) 行,每行一个整数 \(t_k\),表示第 \(k\) 个服务台办理一名乘客的登记手续需要花费的时间。
输出格式
输出仅一行一个整数,表示完成签到所需要花费的最短时间(单位为秒)。
输入输出样例 #1
输入 #1
2 6
7
10
输出 #1
28
输入输出样例 #2
输入 #2
7 10
3
8
3
6
9
2
4
输出 #2
8
说明/提示
【样例 1 解释】
对于样例 \(1\),有两个服务台,处理时间分别为 \(7\) 秒和 \(10\) 秒。在代表团的六个人中,前两个人立即占据了这两个服务台。在第 \(7\) 秒,第一张桌子变成空闲,第三个人占据了它。在第 \(10\) 秒,第四个人占据了第二个服务台。在第 \(14\) 秒,第五个人占据了第一个服务台。在第 \(20\) 秒,第二张桌子再次变成空闲,但第六个人决定再等一秒钟(至第 \(21\) 秒),让第一张桌子空出来,然后占据它。这样一来,签到只要花费 \(28\) 秒就能完成了。如果第六个人没有等待更快的服务台,签到将花费 \(30\) 秒。
【数据范围】
本题一共 \(8\) 个测试点。各个测试点的数据范围如下表所示:
| 测试点编号 | \(n\leqslant\) | \(m\leqslant\) | \(t_k\leqslant \) |
|---|---|---|---|
| \(1\sim 5\) | \(10^5\) | \(3\times 10^5\) | \(10^9\) |
| \(6\sim 8\) | \(10^5\) | \(10^9\) | \(10^9\) |
信息
- ID
- 1047
- 难度
- (无)
- 分类
- (无)
- 标签
- (无)
- 递交数
- 0
- 已通过
- 0
- 通过率
- ?
- 被复制
- 1
- 上传者