AT_s8pc_6_d.Snowballs

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

在一条自西向东延伸的较长直线上,放置着 NN 个雪球。这里所说的「位置 XX」,是指从一个参考点出发,沿这条直线向东移动 XX 的位置。

第 ii 个雪球位于距道路西端 XiX_i 的位置,半径为 RiR_i。假设所有雪球都是完美的球状。

E869120 君想要通过合并这些雪球,尽可能地做出一个大雪球。

当一个雪球移动距离 dd 时,其半径就会减少 dd。如果半径变为 00,该雪球将消失。此外,可以将相同位置的雪球进行合并。具有半径 r1r_1 和 r2r_2 的两个雪球合并后,新雪球的半径为 (r13+r23)1/3\left(r_1^3 + r_2^3\right)^{1/3}。

那么,E869120 君能做出半径最大的雪球是多少呢?

输入格式

输入以以下格式提供:

NN X1X_1 R1R_1 X2X_2 R2R_2 \dots XNX_N RNR_N

输出格式

输出 E869120 君能够制成的最大雪球的半径。要求答案的相对误差或绝对误差在 10−410^{-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≤100 0001 \leq N \leq 100\,000
  • 1≤Xi≤1 000 000 0001 \leq X_i \leq 1\,000\,000\,000
  • 1≤Ri≤1 000 000 0001 \leq R_i \leq 1\,000\,000\,000

子任务与得分

本题分为若干子任务,只有当提交通过该子任务的所有测试用例时,才视为通过该子任务。最终得分为通过的所有子任务分数之和:

  1. (70 分):N=2N = 2
  2. (140 分):N≤15N \leq 15
  3. (250 分):N≤1 000N \leq 1\,000
  4. (140 分):无其它限制

示例解释

示例解释 1

通过以下操作,可以制成半径为 7371/3=9.03280...737^{1/3} = 9.03280... 的雪球:

  • 将第一个雪球向东移动 33 个单位,其半径减少至 22。
  • 合并第一个雪球和第二个雪球,合并后的半径为 (93+23)1/3=9.03280...\left(9^3 + 2^3\right)^{1/3} = 9.03280...。
    这就是可以获得的最大雪球的半径。

示例解释 2

例如,第四个雪球的初始半径为 1010。在此情况下,无论如何操作,也无法造出比这个更大的雪球。温馨提示,可以接受 10−410^{-4} 的误差,因此输出 9.9992 或 10.000869120 也算正确。

示例解释 3

即便半径和位置的约束为 10910^9 以下,答案可能会超过 10910^9。

本翻译由 AI 自动生成

输入解题思路,AI测评打分。不知道怎么写?

首页