#P5394. Angry Cows
Angry Cows
题目描述
在《愤怒的奶牛》这款游戏中,你的任务是精准地发射一头奶牛,利用它引发的连锁反应来引爆地图上所有的干草捆。
游戏规则如下:
-
场景: 在一条一维数轴上,有 个干草捆,它们各自位于不同的整数坐标 。
-
发射: 你可以选择一个发射功率 和一个着陆点 (注意: 可以是小数)。
-
初始爆炸: 奶牛以功率 降落在 点,这将立即引爆一个半径为 的区域。所有位于闭区间 内的干草捆都会被引爆。
-
连锁反应: 这是一个分阶段、同步进行的过程。
- 第 1 轮: 在初始爆炸中被引爆的所有干草捆,会同时发生爆炸,但爆炸半径减小为 。
- 第 2 轮: 在第 1 轮爆炸中首次被波及(新引爆)的干草捆,会同时发生爆炸,爆炸半径进一步减小为 。
- 后续: 这个过程持续进行,每一轮新引爆的干草捆都会以再减 1 的半径爆炸。当没有新的干草捆被引爆,或者爆炸半径小于 0 时,连锁反应结束。
你的任务是: 找出能够引爆所有 个干草捆所需的最小发射功率 。
输入格式
- 第一行包含一个整数 (),代表干草捆的数量。
- 接下来 行,每行包含一个整数 (),代表一个干草捆的位置。
输出格式
- 输出一个浮点数,代表所需的最小功率 。
- 答案请四舍五入到小数点后一位。
样例
输入样例
5
8
10
3
11
1
输出样例
3.0
样例说明
在本例中,干草捆的位置排序后为:1, 3, 8, 10, 11。 当最小发射功率 时,我们可以选择将奶牛降落在 的位置。
-
初始爆炸 (半径 ):
- 奶牛降落在 。爆炸范围为 。
- 这会引爆位置在 3 和 8 的干草捆。
-
第 1 轮连锁反应 (半径 ):
- 位置 3 的干草捆爆炸,范围为 ,引爆了位置 1 的干草捆。
- 位置 8 的干草捆爆炸,范围为 ,引爆了位置 10 的干草捆。
-
第 2 轮连锁反应 (半径 ):
- 位置 1 的干草捆爆炸,范围为 ,没有引爆新的干草捆。
- 位置 10 的干草捆爆炸,范围为 ,引爆了位置 11 的干草捆。
-
第 3 轮连锁反应 (半径 ):
- 位置 11 的干草捆爆炸,范围为 ,没有引爆新的干草捆。
至此,所有干草捆(1, 3, 8, 10, 11)均被引爆。可以证明,不存在比 更小的 能完成目标。