AT_joisp2025_g 勇者ビ太郎 3 (Bitaro the Brave 3)
题目描述
勇者比太郎正在挑战守护村庄免受怪兽袭击的防御战任务。防御战的难度用一个介于 $1$ 到 $L$ 的整数表示,这个值可以在挑战时自由选择。难度为 $\ell$($1 \leq \ell \leq L$)的防御战中,出现的怪兽的 HP 是(难度为 $1$ 时的基准)$\ell$ 倍。
防御战持续 $T$ 秒,共有 $N$ 只怪兽依次出现。每只怪兽编号为 $1$ 至 $N$。从防御战开始后 $t$ 秒($0 \leq t \leq T$)的时刻称为时刻 $t$。编号为 $i$ 的怪兽($1 \leq i \leq N$)会在时刻 $S_i$($0 \leq S_i < T$)出现,其强度为 $P_i$,HP 则为难度为 $\ell$ 时 $\ell \times H_i$。
防御战中,比太郎可以不限次数地进行如下操作:
- 从当前出现的怪兽中选出一只,花费 $1$ 秒对其攻击一次,该怪兽的 HP 减少 $1$。HP 变为 $0$ 的怪兽会被击败,之后无法再对其进行攻击。
当时刻 $T$ 到来时防御战结束,随后按如下方式计算防御战的**评价值**:
- 记在时刻 $T$ 结束后,编号为 $i$ 的怪兽的 HP 为 $h_i$,则评价值为 $h_1 P_1 + h_2 P_2 + \dots + h_N P_N$。
当且仅当评价值不超过任务规定的基准值 $m$ 时,比太郎才能完成该任务。
由于完成高难度的任务可获得更丰厚的奖励,比太郎想求出自己能完成任务的最大难度。然而,基准值事先未知,因此比太郎需要针对 $Q$ 个候选基准值 $M_1, M_2, \dots, M_Q$,逐一求出每个基准值下他能够完成任务的最大难度。
现给定防御战的信息和基准值的候选列表,请对于每个基准值,判断比太郎是否可以完成任务,若可完成,请给出他能完成任务的最大难度。
---
输入格式
输入以以下格式从标准输入给出。
> $N$ $L$ $T$
> $S_1$ $H_1$ $P_1$
> $S_2$ $H_2$ $P_2$
> $\vdots$
> $S_N$ $H_N$ $P_N$
> $Q$
> $M_1$
> $M_2$
> $\vdots$
> $M_Q$
输出格式
请输出 $Q$ 行,第 $j$ 行($1 \leq j \leq Q$)输出,当 $m = M_j$ 时,能够完成任务的最大难度。如果任何难度下都无法完成任务,则输出 `0`。
说明/提示
## 小子任务
1. ($1$ 分)$N \leq 30$,$Q = 1$,$M_1 = 0$,$L = 1$。
2. ($3$ 分)$N \leq 30$,$Q = 1$,$M_1 = 0$。
3. ($10$ 分)$N \leq 30$,$Q \leq 3$。
4. ($10$ 分)$Q \leq 3$。
5. ($35$ 分)$N \leq 30$。
6. ($8$ 分)$N \leq 400$。
7. ($20$ 分)$N \leq 1\,800$。
8. ($13$ 分)无附加限制。
---
## 样例解释 1
在难度 $1$ 的防御战中,可以按下述方式行动,取得评价值 $4$,无法取得评价值 $3$ 或以下。
时刻 事件
$0$ 怪兽 $1$(HP $9$)出现。
$0$-$8$ 对怪兽 $1$ 攻击 $8$ 次,HP 从 $9$ 减至 $1$。
$8$ 怪兽 $2$(HP $5$)出现。
$8$-$9$ 对怪兽 $2$ 攻击 $1$ 次,HP 从 $5$ 减至 $4$。
$9$-$10$ 对怪兽 $1$ 攻击 $1$ 次,HP 从 $1$ 减至 $0$。
$10$ 怪兽 $1$ 被打倒。
$10$ 防御战结束,评价值为 $0 \times P_1 + 4 \times P_2 = 4$。
而在难度 $2$ 的防御战中,可以如下行动,获得评价值 $26$,无法取得评价值 $25$ 或以下。
时刻 事件
$0$ 怪兽 $1$(HP $18$)出现。
$0$-$8$ 对怪兽 $1$ 攻击 $8$ 次,HP 从 $18$ 减至 $10$。
$8$ 怪兽 $2$(HP $10$)出现。
$8$-$10$ 对怪兽 $1$ 攻击 $2$ 次,HP 从 $10$ 减至 $8$。
$10$ 防御战结束,评价值为 $8 \times P_1 + 10 \times P_2 = 26$。
此外,由于本输入中 $L = 2$,不能选择难度大于等于 $3$ 的防御战。
因此输出如下:
- 对于第 $1$ 个基准值 $M_1 = 0$,任何难度都无法完成任务,第 $1$ 行输出 `0`。
- 对于第 $2$ 个基准值 $M_2 = 20$,最大可以完成难度 $1$ 的防御战,第 $2$ 行输出 $1$。
- 对于第 $3$ 个基准值 $M_3 = 40$,最大可以完成难度 $2$ 的防御战,第 $3$ 行输出 $2$。
该输入符合小子任务 $3, 4, 5, 6, 7, 8$ 的约束。
---
## 样例解释 2
该输入符合所有小子任务的约束。
---
## 样例解释 3
该输入符合小子任务 $2, 3, 4, 5, 6, 7, 8$ 的约束。
---
## 样例解释 4
该输入符合小子任务 $5, 6, 7, 8$ 的约束。
---
## 样例解释 5
该输入符合小子任务 $5, 6, 7, 8$ 的约束。
# 数据范围与限制
- $1 \leq N \leq 6\,000$。
- $1 \leq L \leq 10\,000\,000$。
- $1 \leq T \leq 10^{18}$。
- $0 \leq S_i < T$($1 \leq i \leq N$)。
- $1 \leq H_i$($1 \leq i \leq N$)。
- $1 \leq P_i$($1 \leq i \leq N$)。
- $H_1 P_1 + H_2 P_2 + \cdots + H_N P_N \leq 10^{11}$。
- $1 \leq Q \leq 1\,000\,000$。
- $0 \leq M_j \leq 10^{18}$($1 \leq j \leq Q$)。
- $M_1 < M_2 < \cdots < M_Q$。
- 输入的所有数均为整数。
由 ChatGPT 5 翻译