AT_s8pc_6_d.Snowballs
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
在一条自西向东延伸的较长直线上,放置着 N 个雪球。这里所说的「位置 X」,是指从一个参考点出发,沿这条直线向东移动 X 的位置。
第 i 个雪球位于距道路西端 Xi 的位置,半径为 Ri。假设所有雪球都是完美的球状。
E869120 君想要通过合并这些雪球,尽可能地做出一个大雪球。
当一个雪球移动距离 d 时,其半径就会减少 d。如果半径变为 0,该雪球将消失。此外,可以将相同位置的雪球进行合并。具有半径 r1 和 r2 的两个雪球合并后,新雪球的半径为 (r13+r23)1/3。
那么,E869120 君能做出半径最大的雪球是多少呢?
输入格式
输入以以下格式提供:
N X1 R1 X2 R2 \dots XN RN
输出格式
输出 E869120 君能够制成的最大雪球的半径。要求答案的相对误差或绝对误差在 10−4 以内即可视为正确。
输入输出样例
输入#1
2 4 5 7 9
输出#1
9.03280211228081065
输入#2
5 3 4 1 4 1 2 9 10 5 3
输出#2
9.99999999999999645
输入#3
9 815886884 307027576 432574413 156832535 869389414 537542354 8271358 844638329 34762585 93905560 445922147 508315922 476305579 724641385 15004200 341668840 277786703 825590503
输出#3
1000677079.68994784
说明/提示
限制
- 1≤N≤100000
- 1≤Xi≤1000000000
- 1≤Ri≤1000000000
子任务与得分
本题分为若干子任务,只有当提交通过该子任务的所有测试用例时,才视为通过该子任务。最终得分为通过的所有子任务分数之和:
- (70 分):N=2
- (140 分):N≤15
- (250 分):N≤1000
- (140 分):无其它限制
示例解释
示例解释 1
通过以下操作,可以制成半径为 7371/3=9.03280... 的雪球:
- 将第一个雪球向东移动 3 个单位,其半径减少至 2。
- 合并第一个雪球和第二个雪球,合并后的半径为 (93+23)1/3=9.03280...。
这就是可以获得的最大雪球的半径。
示例解释 2
例如,第四个雪球的初始半径为 10。在此情况下,无论如何操作,也无法造出比这个更大的雪球。温馨提示,可以接受 10−4 的误差,因此输出 9.9992 或 10.000869120 也算正确。
示例解释 3
即便半径和位置的约束为 109 以下,答案可能会超过 109。
本翻译由 AI 自动生成
输入解题思路,AI测评打分。不知道怎么写?