水题大赛(一)
时间限制:1秒 内存限制:256M
【题目描述】
一场世界级水题大赛就要在小H生活的城市举办了!
世界各地的程序员将会到达当地的机场,前来参会并且解决各种水题。具体地说,有 \(N\) 个程序员到达了机场,其中程序员 \(i\) 在时间 \(t_i\)到达。小H安排了 \(M\) 辆大巴来机场接这些程序员。每辆大巴可以乘坐 \(C\) 个程序员。小H正在机场等待程序员们到来,并且准备安排到达的程序员们乘坐大巴。当最后一个乘坐某辆大巴的程序员到达的时候,这辆大巴就可以发车了。
小H想要做一个优秀的主办者,所以并不想让程序员们在机场等待过长的时间。如果小H合理地协调这些大巴,等待时间最长的程序员等待的时间的最小值是多少?一个程序员的等待时间等于他的到达时间与她乘坐的大巴的发车时间之差。
【输入格式】
输入的第一行包含三个空格分隔的整数 \(N,M\) 和 \(C\)。第二行包含 \(N\) 个空格分隔的整数,表示每个程序员到达的时间。
【输出格式】
输出一行,包含所有到达的程序员中的最大等待时间的最小值。
【输入输出样例】
Input
6 3 2
1 1 10 14 4 3
Output
4
【输入输出样例解释】
如果两个时间 1 到达的程序员乘坐一辆巴士,时间 2 和时间 4 到达的程序员乘坐乘坐第二辆,时间 10 和时间 14 到达的程序员乘坐第三辆,那么等待时间最长的程序员等待了 4 个单位时间(时间 10 到达的程序员从时间 10 等到了时间 14)。
【数据限制】
\(1 ≤ N ≤ 10^5\)
\(0 ≤ t_i ≤ 10^9\)
\(1 ≤ M ≤ 10^5\)
\(1 ≤ C ≤ N\)
【来源】
Mr.he