/ Vijos / 题库 /

轰炸

轰炸

时间限制: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

信息

ID
2308
难度
9
分类
搜索 | 枚举其他 | 二分查找贪心 点击显示
标签
递交数
2
已通过
1
通过率
50%
被复制
4
上传者