#16124. 航道清理
航道清理
航道清理
题目背景
在遥远的未来,人类开辟了一条重要的星际航道。航道是笔直的,起点为空间站 “阿尔法”,终点为空间站 “欧米伽”。
在这条航道中(起点和终点间),散布着 N 块危险的小行星残骸。领航员在从阿尔法到欧米伽的航行过程中,必须在残骸处手动领航实施绕行(距离忽略不计),其它时间则交由自动领航程序航行。航行过程中多段连续自动领航航行距离的最小值,称为最小安全距离。为提升航行安全,航道管理部门决定清理一部分残骸,使得飞船在航行过程中的最小安全距离尽可能大。由于资源有限,最多只能清理 M 块残骸(起点和终点的空间站不能清理)。
输入格式
第一行包含三个整数 L, N, M,分别表示航道的总长度(阿尔法到欧米伽的距离),航道中的残骸数量,以及最多可清理的残骸数量。保证 L ≥ 1 且 N ≥ M ≥ 0。
接下来 N 行,每行一个整数,第 i 行的整数 Di (0 < Di < L) 表示第 i 块残骸与起点阿尔法的距离。这些数据按照距离从小到大的顺序给出,且不会有两个残骸在同一位置。
输出格式
一个整数,表示能够实现的最小安全距离的最大值。
样例一
输入数据
25 5 2
2
11
14
17
21
输出数据
4
样例说明
绕行过距离起点 2 和 14 的两块残骸后,飞船在航行过程中的最小安全距离为 4(例如从距离 17 的位置跳到 21,或从 21 跳到终点欧米伽)。
数据规模与约定
对于 20% 的数据,0 ≤ M ≤ N ≤ 10。
对于 50% 的数据,0 ≤ M ≤ N ≤ 100。
对于 100% 的数据,0 ≤ M ≤ N ≤ 50000,1 ≤ L ≤ 10^9。