CF832C Strange Radiation
题目描述
有 $n$ 个人站在坐标轴的正整数坐标上,所有坐标均严格小于 $10^{6}$。对于每个人,给出了其面朝的方向(左或右)以及其最大速度。
你可以在某个非负整数坐标的位置安放一枚炸弹,并将其引爆。此时,所有人会以其最大速度沿着他们所面朝的方向开始奔跑。同时,炸弹会发出两道奇异的射线,以速度 $s$ 分别向左、向右传播。注意,速度 $s$ 严格大于所有人的最大速度。
这些射线很奇怪,因为如果某一时刻射线的位置和运动方向与某个人重合,那么这个人的速度会立刻增加射线的速度。
你需要选择一个合适的位置放置炸弹,使得第一个有人经过 $0$ 点,以及第一个有人经过 $10^{6}$ 点这两件事发生的最早时刻尽可能地早。换句话说,求一个最小的时刻 $t$,使得存在一种安放炸弹的位置方案,使得在时刻 $t$ 时,有人跑经过了 $0$ 点,且有人跑经过了 $10^{6}$ 点。
输入格式
第一行包含两个整数 $n$ 和 $s$($2\le n\le 10^{5}$,$2\le s\le 10^{6}$)——人数和射线的速度。
接下来的 $n$ 行描述每个人。第 $i$ 行包含三个整数 $x_{i}$,$v_{i}$ 和 $t_{i}$($0
输出格式
输出使得 $0$ 点和 $10^{6}$ 点都能被人经过的最小时间。
当且仅当你的答案与标准答案的绝对或相对误差不超过 $10^{-6}$ 时,结果才会被判为正确。即,如果你的答案为 $a$,标准答案为 $b$,则当
$$
\frac{|a - b|}{\max(1, |b|)} \leq 10^{-6}
$$
时认为答案正确。
说明/提示
在第一个样例中,最优情况是在坐标为 $400000$ 的位置放置炸弹。此时,第一人的速度立刻变为 $1000$,他在 $600$ 时刻跑到 $10^{6}$ 处。炸弹对第二人没有影响,他需要 $500000$ 时间才能跑到 $0$ 点。
在第二个样例中,最优情况是在 $500000$ 处放置炸弹。射线将在 $200$ 时刻同时追上两人,届时第一人的位置为 $300000$,第二人为 $700000$。两人的速度此时都会变为 $1500$,在 $400$ 时刻同时分别到达 $0$ 点和 $10^{6}$ 点。
由 ChatGPT 5 翻译