轰炸
时间限制:1秒 内存限制:256M
【问题描述】
敌人的防线上分布着 \(N\) 个位置不同的据点,坐标为 \(x_1,x_2,….,x_N\)。如果把一个爆炸半径为 \(R\) 把炸弹扔到坐标 \(x\) 的位置,就会摧毁半径 \(R\) 及以内的所有据点,即坐标范围 \([x-R,x+R]\) 的据点都会被摧毁。
空军司令准备派一架轰炸机携带 \(K\) 枚炸弹去轰炸敌人防线,目标是摧毁敌人的全部据点。因为炸弹的爆炸半径量 \(R\) 越大,炸弹越重,所以需要你计算一下,要摧毁所有据点,最小的 \(R\) 是多少?
【输入格式】
输入的第一行是两个整数 \(N\) 和 \(K\)。接下来的 \(N\) 行,每行一个整数:\(x_1,x_2,….,x_N\),范围在 \([0…1,000,000,000]\)。
【输出格式】
输出最小可能的 \(R\) 的值。
【输入输出样例】
Input
7 2
20
25
18
8
10
3
1
Output
5
【样例说明】
炸弹的R设为5时,下面时一种合理的轰炸方案:
把第1个炸弹扔在x=5的位置,可以摧毁位置在1,3,8,10的据点;第2个炸弹扔在x=5的位置,可以摧毁位置在18,20,25的据点。
可以证明,R=5时最小的合理的爆炸半径。
【数据说明】
对于 \(100\%\) 的数据 \(1≤N≤50,000\),\(1≤K≤10\)。
【来源】
Mr.he