编程题
### 问题描述
暑期算法基础班已经开始了一段时间了,肖恩想要检验一下大家的学习效果,决定举办一次考试。教室里面原来有 $n$ 张桌子,而参加考试的同学只有 $m$ 个,所以肖恩可以去掉 $n-m$ 张桌子。为了最大可能的防止同学们作弊,肖恩想去掉一些桌子后剩下的相邻桌子之间的最小距离最大。现在肖恩把这个问题交给你,请你求出这个可能的最大的最小距离是多少(注意第一张桌子和最后一张桌子与墙的距离也算作一个距离,墙位于教室的两侧,下标分别为 $0$ 和教室的大小 $k$ )。
### 输入描述
第一行输入三个数字 $k$ , $n$ 和 $m$ ,分别表示教室的长度,桌子的数量和参加考试的同学的数量。
第二行包括 $n$ 个整数,第 $i$ 个数字 $a_i$ 表示第 $i$ 张桌子的位置。其中保证所有桌子的位置坐标一定都是按从小到大的顺序给出的。
数据保证 $1 \leq k \leq 10^9,1 \leq n \leq 50000,1 \leq m \leq n,1 \leq a_i \leq k$ 。
### 输出描述
输出一个数字表示可能的最大的最小距离。
### 样例输入
```
25 5 2
2 11 14 17 21
```
### 样例输出
```
6
```
### 说明
我们可以移除第一张,第三张和第五张桌子。这样剩下的桌子是 $11,17$ 。相邻桌子之间的距离分别是(包括和墙) $11,6,8$ 。可以证明没有任何方案能够使最小距离大于 $6$ 。