QOJ.ac

QOJ

時間限制: 5 s 記憶體限制: 512 MB 總分: 100

#4412. BOSS 连战

统计

终于,小 Q 在 RPG 游戏中达到了 $10^5$ 级并获得了他的武器,现在他试图尽快击败 Boss。Boss 拥有 $H$ 点生命值(HP),小 Q 需要造成至少 $H$ 点伤害才能击败 Boss。

小 Q 学习了 $n$ 个技能,编号为 $1, 2, \dots, n$。每个技能不能重复使用,因为小 Q 没有足够的时间等待技能冷却。假设小 Q 在第 $x$ 帧使用第 $i$ 个技能,他所控制的角色需要 $t_i$ 帧来完成动作,这意味着小 Q 在第 $(x + t_i)$ 帧之前不能使用其他技能。第 $i$ 个技能的伤害序列长度为 $len_i$,这意味着如果小 Q 在第 $x$ 帧使用第 $i$ 个技能,该技能将在第 $(x + j)$ 帧造成 $d_{i,j}$ ($0 \le j < len_i$) 点伤害。注意 $len_i$ 可以大于 $t_i$,例如,燃烧技能可以长时间灼烧 Boss,但施放火焰只需要很短的时间。

游戏从第 $0$ 帧开始。你的任务是帮助小 Q 尽快击败 Boss,或者判断小 Q 是否无法在每个技能最多使用一次的情况下击败 Boss。

输入格式

第一行包含一个整数 $T$ ($1 \le T \le 100$),表示测试用例的数量。对于每个测试用例:

第一行包含两个整数 $n$ 和 $H$ ($1 \le n \le 18, 1 \le H \le 10^{18}$),分别表示技能数量和 Boss 的生命值。

对于每个技能,第一行包含两个整数 $t_i$ 和 $len_i$ ($1 \le t_i, len_i \le 100\,000$),第二行包含 $len_i$ 个整数 $d_{i,0}, d_{i,1}, \dots, d_{i,len_i-1}$ ($1 \le d_{i,j} \le 10^9$)。

保证所有 $len_i$ 的总和不超过 $3\,000\,000$,且满足 $n > 10$ 的测试用例不超过 $5$ 个。

输出格式

对于每个测试用例,输出一行,包含一个整数,表示击败 Boss 的最早帧数。如果无法击败 Boss,请输出“-1”。

样例

样例输入 1

3
1 100
5 3
50 60 70
2 100
2 3
40 40 100
100 2
20 5
1 1000
1 1
999

样例输出 1

1
2
-1

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.