3025 - 小k的跳跃【stone】

小 k 想训练自己的跳跃能力,他来到一条河边,河中分布着 N 块岩石。小 k 可以踩着这些岩石每一步跳向相邻的岩石,直至到达对岸。
为了提高跳跃能力,小 k 想移走一些岩石,使得自己跳跃过程中的最短跳跃距离尽可能长。由于体力有限,小 k 至多移走 M 块岩石。

输入

第一行包含三个整数 L,N,M,分别表示到终点的距离,两岸之间的岩石数,至多移走的岩石数。保证 L≥1且 N≥M≥0
接下来 N 行,每行一个整数,第 i 行的整数 Di0DiL), 表示第 i 块岩石与起点的距离。这些岩石按与起点距离从小到大的顺序给出,且不会有两个岩石出现在同一个位置。

输出

一个整数,小k最短跳跃距离的最大值。

样例

输入

25 5 2 
2
11
14
17 
21

输出

4

提示

【说明/提示】

将与起点距离为 214 的两个岩石移走后,最短的跳跃距离为 4(从与起点距离 17 的岩石跳到距离 21 的岩石,或者从距离 21 的岩石跳到终点)。

【数据规模与约定】

对于 20\%的数据,0≤M≤N≤10
对于 50\% 的数据,0≤M≤N≤100
对于 100\% 的数据,0≤M≤N≤50000,1≤L≤10^9

来源

奇遇编程

题目参数

时间限制 1 秒
内存限制 32 MB
提交次数 0
通过人数 0
统计

上一题 下一题