test

test

描述

微信的“跳一跳”竞速争霸赛开始了,比赛设置了头尾两个方格,中间设计了N块跳跃的点,选手要跳过每一个方格到达终点。
为了降低比赛难度,举办方决定给予选手一定的福利,每一局,选手可以选择移走M块方格(不包括头尾),使每一次跳跃的距离尽可能得长,避免距离太近控制不住的情况。
下面,就需要选手通过计算移走方格,找到本局跳跃的最短距离的最大值。

输入输出格式

输入

第一行包含三个整数L,N,M。L,N,M,分别表示首位格的距离,设置的跳跃点方格数,本局可以移走的方格数。保证L≥1且N≥M≥0。
接下来N行,每行一个整数,第i行的整数Di(0<Di<L),表示第i块方格与头方格的距离。这些方格按与头方格距离从小到大的顺序给出,且不会有两个方格出现在同一个位置。

输出

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

例子

Input

123 500

Output

623

限制

1s, 256M for each test case.

范围

对于20%的数据,0≤M≤N≤10
对于50%的数据,0≤M≤N≤100。
对于100%的数据,0≤M≤N≤50,000,1≤L≤1,000,000,000。

Source

就改了个门面,其实老题。

信息

ID
1000
难度
9
分类
(无)
标签
(无)
递交数
5
已通过
1
通过率
20%
上传者