奶牛们找到一条笔直的马路用来跳房子。马路上正好有一些石子,奶牛们就准备以这些石子进行跳房子。奶牛们需要从起点0处出发,跳到所有这些石子所在的位置,最后跳到终点(顺序任意)。
据说奶牛的肌肉越强壮,产出的牛奶越香醇。你作为农场主突然想到一个坏点子,你准备把到起点0和终点L之间的若干石头移走,使得奶牛在跳房子时经过的所有距离中的最小值尽可能的大。因为这样奶牛们就会多做无氧运动以促进肌肉生长。
不过奶牛们跳房子的活动马上开始了,你才想到这个点子,导致你只能在起点0和终点L之间的N块石头中,选择M块石头移走。你想知道这个所有距离中的最小值最大能是多少?
第一行3个数字 分别表示终点的位置L,起点到终点之间的石头数N,你最多能移走的石头数M
第二行到第N+1行每行一个数字,表示起点到终点之间的石头距离起点为距离a_i
输出仅一个数字,即尽可能大的两块石头之间的最小值距离。
25 5 2 2 14 11 21 17
4
样例解释:最短的距离是起始位置0到位置为2的石头,把位置为2的石头移去后;
最短的距离是位置14到位置17的石头,次短的距离是17到21的石头,所以要移去位置17的石头。
移去两块石头后最短的距离是位置21的石头到终点位置25的石头,距离为4.
0< L \leq 10^{12} ,1 \leq n \leq 10^6,0 < a_i < L
USACO