#P9889. [ICPC 2018 Qingdao R] Plants vs. Zombies
[ICPC 2018 Qingdao R] Plants vs. Zombies
Description
BaoBao 和 DreamGrid 正在玩游戏《植物大战僵尸》。在游戏中,DreamGrid 种植植物来保护他的花园免受 BaoBao 的僵尸攻击。

《植物大战僵尸(?)》
(图片来自 pixiv。ID: 21790160;艺术家:socha)
DreamGrid 的花园里有 株植物,按一条直线排列。从西到东,植物从 1 到 编号,第 株植物位于 DreamGrid 的房子东边 米处。第 株植物的防御值为 ,生长速度为 。最初,所有 的 。
DreamGrid 使用一个机器人来浇灌植物。机器人最初在他的房子里。在一次浇水步骤中,DreamGrid 会选择一个方向(东或西),机器人沿该方向正好移动 1 米。移动后,如果第 株植物位于机器人的位置,机器人将浇灌植物,并将 加到 上。由于机器人的水是有限的,最多可以进行 步。
花园的防御值定义为 。DreamGrid 需要你的帮助来最大化花园的防御值并赢得比赛。
- 每次机器人必须在浇灌植物之前移动;
- 机器人可以移动超过 米到房子东边,或者移回房子,甚至移动到房子西边。
Input Format
有多个测试用例。输入的第一行包含一个整数 ,表示测试用例的数量。对于每个测试用例:
第一行包含两个整数 和 (, ),表示植物的数量和机器人可以移动的最大步数。
第二行包含 个整数 (),其中 表示第 株植物的生长速度。
保证所有测试用例中 的总和不超过 。
Output Format
对于每个测试用例输出一行,包含一个整数,表示 DreamGrid 可以获得的花园的最大防御值。
2
4 8
3 2 6 6
3 9
10 10 1
6
4
Hint
在下面的解释中,E 表示机器人从当前位置向东移动 1 米,W 表示机器人从当前位置向西移动 1 米。
对于第一个测试用例,一个候选方向序列是 ,这样我们有 在浇水后。
对于第二个测试用例,一个候选方向序列是 ,这样我们有 在浇水后。
题面翻译由 ChatGPT-4o 提供。
京公网安备 11011102002149号