#P1180. 奶牛坐公交(bus)

奶牛坐公交(bus)

题目描述

来自世界各地的奶牛准备抵达机场参加会议。具体来说,有 n 头牛到达机场,而第 i 头牛到达时间为 tit_i

农场主约翰安排了 m 辆公交车从机场运牛,每辆车最多可容纳 c 头奶牛。

农夫约翰正和公共汽车在机场等着,他想把到站的牛安排上公共汽车,公共汽车可以在最后一头母牛到达时离开。

农夫约翰想成为一个好主人,所以不想让每一头到达的奶牛在机场等太久。

如果农夫约翰以最佳方式协调他的公共汽车,那么任何一头到达的奶牛的最大等待时间的最小可能值是多少?奶牛的等待时间是指它到达的时间和它乘坐的公共汽车离开的时间之差,保证 m*c ≥ n 。

输入格式

第一行包含三个空格分隔的整数 n、m 和 c 。下一行包含 n 个空格分隔的整数,表示每头奶牛的到达时间。

数据范围

1 ≤ n ≤ 10510^5

0 ≤ tit_i10910^9

1 ≤ m ≤ 10510^5

1 ≤ c ≤ n

输出格式

一个整数,表示任何等待时间最长的奶牛的最短等待时间。

样例

6 3 3
1 1 10 14 4 3
4

样例解析

如果到达时间 1 的两头奶牛乘坐一辆公共汽车,第二辆车搭载时间 3 和 4 的奶牛(有一头奶牛等待时间为 1 ),第三辆车接时间 10 和 14 的奶牛(有一头奶牛的等待时间为 4 ),则奶牛需要等待的最长时间为 4 个时间单位(到达时间10的奶牛从时间 10 等到 时间 14 )。