SP14977 UOFTBB - Attack of the Bloons

题目描述

Bloons(别和普通气球搞混哦)在进攻!它们试图穿越你设置的由 $L$ 个连续单元格组成的路径,每个单元格从 $1$ 到 $L$ 编号排列。你并不知道它们到达末端会带来什么后果,不过你肯定不想知道!所以你在路径上布置了一些防御塔。可以说,这就是一场 Bloons 版塔防战。 你有 $N$ 个防御塔($1 \leq N \leq 1000$),它们负责击落接近的 Bloons。第 $i$ 个防御塔位于第 $C_i$($1 \leq C_i \leq L$)个单元格旁,并可攻击距离它不超过 $R_i$($0 \leq R_i \leq 1000$)的 Bloons,即从单元格 $C_i - R_i$ 到 $C_i + R_i$ 的范围。每秒钟,塔可以对这些范围内的 Bloons 造成 $D_i$($1 \leq D_i \leq 10^9$)点伤害。 接下来,将会有 $M$($1 \leq M \leq 1000$)个 Bloons 依次尝试穿过这条路。第 $i$ 个 Bloon 的初始生命值为 $H_i$($1 \leq H_i \leq 10^9$),一旦其受的伤害总和达到或超过这个值,Bloon 就会被击破。每个 Bloon 从第 1 个单元格出发,每秒移动 1 个单元格。如果 Bloon 到达并越过单元格 $L$,就意味着它成功逃脱,不再能被攻击。 总共有 $T$($1 \leq T \leq 20$)种独立场景。对于每个场景,你需要计算每个 Bloon 能前进到的最远单元格。

输入格式

第一行有一个整数 $T$。 对于每个场景: 第一行有两个整数 $L$ 和 $N$。 接下来 $N$ 行,每行有三个整数 $C_i$、$R_i$ 和 $D_i$,表示每个防御塔的位置、攻击范围和每秒造成的伤害。 然后有一行包含一个整数 $M$。 接下来的 $M$ 行,每行有一个整数 $H_i$,表示每个 Bloon 的生命值。

输出格式

对于每个场景: 输出 $M$ 行。如果第 $i$ 个 Bloon 能够成功逃离整个路径,输出字符串 "Bloon leakage"(不带引号);否则,输出一个整数,表示第 $i$ 个 Bloon 才能到达的最远单元格。 **本翻译由 AI 自动生成**