#1031. JM的特快列车

内存限制:512 MiB 时间限制:750 ms 标准输入输出
题目类型:传统 评测方式:文本比较
上传者: JM233333

题目描述

由于JM太菜了,他总是要去向强无敌的神仙cyy请教问题,但是神仙cyy住在深山老林,路途遥远,太不方便,因此JM洗劫了史前巨富jwp的宝库,并用这笔钱建造一段铁路。

铁路是蜿蜒崎岖的,不过这并不重要,因为我们知道准确的铁轨长度。

除了起点站(JM家)和终点站(cyy家)以外,铁路上一共有 nn 个中转站,编号为 1,2,...,n1, 2, ..., n ,第 ii 个中转站和起点站之间的距离为 did_i ,火车可以在中转站把油加满,但是加油总是很费时间的,所以JM并不打算让火车频繁停站加油。此外,终点站和起点站之间的距离为 kk 。此外,起点站和终点站的编号分别为0,n+10,n+1,而且火车不会更换方向,也不会有两个站建在同一个位置,也就是说:di+1>di (0in)d_{i+1}>d_{i}\ (0\le i\le n)

另一方面,JM建好铁路以后突然发现钱不够了,而史前巨富jwp已经布下十八重防御以免再次被洗劫,所以JM只好设法减少开销了。他打算拆除一些中转站以获取一些流动资金。

火车的耗油量和铁轨长度是1比1的关系,这也就意味着,两个中转站之间的距离决定了火车至少要具备的储油量,如果太远的话,火车没来得及开到下一个中转站就瘫痪了,那就GG了。

其实上面那些都是废话,甚至题目的要求都是反的(错乱),请以下面的要求为准。

现在JM打算拆除恰好 mm 个中转站,并在此基础上,使得两个站(包括起点站、终点站、所有中转站)之间的最短距离最大。也就是说,要令 min{di+1di  i[0, n]}\min\{d_{i+1} - d_{i}\ |\ i \in [0,\ n]\} 的值最大,其中 d0=0, dn+1=kd_0 = 0,\ d_{n+1} = k

输入格式

第一行三个整数 n, m, kn,\ m,\ k ,其中 nn 表示除了起点和终点以外的中转站的个数, mm 表示要拆除的中转站的个数, kk 表示终点站和起点站之间的距离。

接下来一行 nn 个正整数,表示 nn 个中转站和起点站之间的距离。保证不会有两个中转站具有相同的距离值。

输出格式

一行一个正整数,表示两个站之间的最短距离的最大值。

样例

样例输入

5 2 30
4 1 18 15 24

样例输出

4

数据范围与提示

1n1051 \le n \le 10^5

0mn0 \le m \le n

1k1091 \le k \le 10^9

1di<k, (i[1, n])1 \le d_i < k,\ (i \in [1,\ n])

didj, (ij)d_i \ne d_j,\ (i \ne j)

Hint

对于样例,删除第 22 个和第 33 个中转站,或是删除第 22 个和第 44 个中转站,都可以得到 min{di+1di}=4min\{d_{i+1} - d_{i}\} = 4