AT_iroha2019_day4_l ...好きです

题目描述

在いろは界,有个著名的故事:いろはちゃん在数直线上放置或移除大量硬币。 起初,数轴上没有任何硬币。いろはちゃん会进行 $Q$ 次操作。操作共有三种类型: - **添加硬币**:在坐标 $x$ 处放置一个面值为 $v$ 的硬币。保证此时该位置没有其他硬币。 - **移除硬币**:将坐标 $x$ 处的硬币移除。保证此时该位置有硬币。 - **取硬币**:将ひらきち君放置在坐标 $x$,并让他取走一个硬币。ひらきち君会选择“效率”最高的硬币。“效率”定义为 $\frac{w}{|c-x|}$,其中 $w$ 是硬币的面值,$c$ 是硬币的坐标。 例如,若坐标 $2$ 有一个面值为 $3$ 的硬币,坐标 $5$ 有一个面值为 $8$ 的硬币,不同情况下“效率”最高值为: - ひらきち君若在坐标 $0$,会取走坐标 $5$ 的硬币,“效率”是 $1.6$。 - 若在坐标 $1$,会取走坐标 $2$ 的硬币,“效率”是 $3.0$。 - 若在坐标 $7$,会取走坐标 $5$ 的硬币,“效率”是 $4.0$。 **注意,虽然ひらきち君取走硬币,但此硬币随后会被还原,故同一硬币可被多次取走。** 对于每次“取硬币”操作,请输出ひらきち君能获取的最高“效率”值。若此时数轴上没有硬币则输出 $0$。

输入格式

从标准输入读入共 $Q + 1$ 行数据。 - 若是“添加硬币”,行格式是:$1$ $x$ $v$ - 若是“移除硬币”,行格式是:$2$ $x$ - 若是“取硬币”,行格式是:$3$ $x$

输出格式

对于每次“取硬币”操作,输出ひらきち君能获得的最高“效率”值。 允许绝对或相对误差最多为 $10^{-5}$。

说明/提示

- 所有输入均为整数 - $1 \leq Q \leq 3 \times 10^5$ - $0 \leq x \leq 10^9$ - $0 \leq v \leq 10^9$ - 每次“添加硬币”时,该位置无其他硬币 - 每次“移除硬币”时,该位置有硬币 - 每次“取硬币”时,该位置无硬币 ### 部分得分 - 通过所有满足 $Q \leq 120000$ 的测试用例可得 $1100$ 分。 - 通过所有测试用例,还可额外得 $300$ 分。 ### 参考 [题目解析](https://img.atcoder.jp/iroha2019-day4/editorial-L.pdf) **本翻译由 AI 自动生成**