E - Takahashi Quest
E - Takahashi Quest
Description
Takahashi 在进行一次冒险。
在第
- 若
t_i = 1 ,则表示这里有一个x_i 魔法的药水。Takahashi 可以选择捡起会不捡起; - 若
t_i = 2 ,则表示这里有一个x_i 魔法的怪兽,需要用一个x_i 魔法的药水才能打败。
你需要求出,在 Takahashi 能打败所有怪兽的情况下,每个时刻手中的药水瓶数的最大值最小是多少。若不能打败所有怪兽输出
Solution
首先考虑判断无解。当遇到一个怪兽
若有解,即能打败所有怪兽,那么我们考虑用哪一瓶药水打败第
因为我们希望让每时每刻 Takahashi 手中的药水数少,那么肯定不能让他拿着一瓶药水很长时间。具体地,对于一个
实现上,我们可以用 vector 存储每个还没被用过的药水出现在哪里。每次遇到一个怪兽 vector 中的最大值
Code
https://atcoder.jp/contests/abc333/submissions/48569389。