CF772A Voltage Keepsake
题目描述
你有 $n$ 个想要同时使用的设备。
第 $i$ 个设备每秒消耗 $a_{i}$ 单位的电量。这种消耗是连续的。也就是说,在 $λ$ 秒内,这个设备将会消耗 $λ·a_{i}$ 单位的电量。第 $i$ 个设备目前储存着 $b_{i}$ 单位的电量。所有设备都可以储存任意数量的电量。
你有一个充电器,可以同时为任意一个设备充电。充电器每秒可以为设备充入 $p$ 单位的电量。充电过程是连续的。也就是说,如果你为某个设备充电 $λ$ 秒,该设备就会获得 $λ·p$ 单位的电量。你可以在任意时刻(包括任意实数时间)更换正在充电的设备,更换设备所需时间可以忽略不计。
你想知道,在某个设备的电量变为 $0$ 之前,你最多能使用这些设备多长时间。
如果你可以无限期地使用这些设备,则输出 $-1$。否则,输出在任意一个设备电量变为 $0$ 之前的最大使用时间。
输入格式
第一行包含两个整数 $n$ 和 $p$($1 \leq n \leq 100000$,$1 \leq p \leq 10^9$)——设备的数量和充电器的功率。
接下来的 $n$ 行每行包含两个整数,每行第 $i$ 行为 $a_{i}$ 和 $b_{i}$($1 \leq a_{i}, b_{i} \leq 100000$)——设备的每秒消耗电量和初始存储电量。
输出格式
如果你可以无限期地使用这些设备,则输出 $-1$。否则,输出其中任意一个设备的电量变为 $0$ 之前的最大使用时间。
如果你的回答的绝对误差或相对误差不超过 $10^{-4}$,则视为正确答案。
也就是说,假设你的答案是 $a$,标准答案是 $b$,则如果 $\frac{|a-b|}{\max(1,|b|)} \le 10^{-4}$,你的答案将被认为是正确的。
说明/提示
在样例 1 中,你可以始终为第一个设备充电,直到其电量用尽。此时第二个设备的初始电量足够维持此时间而不需要充电。
在样例 2 中,你可以无限期地使用设备。
在样例 3 中,我们可以先给第三个设备充电 $2/5$ 秒,然后再切换去为第二个设备充电 $1/10$ 秒。
由 ChatGPT 5 翻译