#S1007. 扫地机器人

扫地机器人

题目描述

西西酱的家里有一条非常长的走廊。 某天她发现,走廊上有 NN 个垃圾,第 ii 个垃圾的位置与走廊尽头之间的距离为 DiD_i。 为了清理这些垃圾,西西酱在走廊尽头准备了 KK 个扫地机器人。对于每个扫地机器人,移动 1 的距离,或者清理当前位置的垃圾,花费的时间都是 1 秒。 西西酱会同时启动这些机器人,她想知道,在合理分配任务的情况下,最快需要多少秒就能完成全部的清扫工作。 注意,一旦走廊上最后一个垃圾被清理干净时,清扫工作就结束了,不需要等机器人回到走廊尽头。

输入格式

第一行两个整数 N,KN, K,表示垃圾的数量,以及扫地机器人的数量。 第二行 NN 个整数 DiD_i,表示每个垃圾与走廊尽头之间的距离。

输出格式

输出一行,一个整数,表示完成清扫所需的最短时间。

输入输出样例

样例 1

输入

5 2
1 2 3 4 5

输出

7

样例说明 一个扫地机器人负责前三个垃圾(距离 1, 2, 3),耗时 3+3=63+3=6 秒。 另一个扫地机器人负责后两个垃圾(距离 4, 5),耗时 5+2=75+2=7 秒。 总的最快时间取决于最慢的机器人,所以是 7 秒。

样例 2

输入

12 3
1000 2000 3000 1999 2992 2986 995 2986 3010 3014 989 3002

输出

3015

样例3,4,5

见附件 robot.zip

数据范围与提示

所有测试数据的范围和特点如下表所示:

测试点编号 NN \le KK \le 特殊性质
1 ~ 2 20 2
3 2000 10 DiD_i 全部相同
4 ~ 6
7 ~ 10 10510^5

对于所有测试点,保证 1N,K105,0Di<1091 \le N, K \le 10^5, 0 \le D_i < 10^9