#CF1922D. 狂暴怪物
狂暴怪物
D. 狂暴怪物
时间限制:每个测试 秒
内存限制:每个测试 MB
Monocarp 又在玩电脑游戏了。猜猜他在做什么?没错,杀怪物。
有 个怪物排成一排,编号从 到 。第 个怪物有两个参数:攻击力 和防御力 。为了杀死这些怪物,Monocarp 对它们施放了狂暴咒语,于是它们开始互相攻击,而不是攻击 Monocarp 的角色。
战斗共进行 轮。每一轮会发生以下事件:
- 首先,每个存活的怪物 会对左边最近的存活怪物(如果存在)和右边最近的存活怪物(如果存在)各造成 点伤害;
- 然后,在本轮中受到的总伤害严格大于其防御力 的存活怪物 会死亡。即,第 个怪物死亡当且仅当 本轮它受到的伤害总和。
对于每一轮,请计算该轮中死亡的怪物数量。
输入
第一行包含一个整数 ()——测试用例的数量。
每个测试用例由三行组成:
- 第一行包含一个整数 ();
- 第二行包含 个整数 ();
- 第三行包含 个整数 ()。
附加输入限制:所有测试用例的 之和不超过 。
输出
对于每个测试用例,输出 个整数。第 个整数应等于第 轮中死亡的怪物数量。
样例
输入
3
5
3 4 7 5 10
4 9 1 18 1
2
2 1
1 3
4
1 1 2 4
3 3 4 2
输出
3 1 0 0 0
0 0
1 1 1 0
说明
以第一个测试用例为例:
第一轮发生以下情况:
- 怪物 对怪物 造成 点伤害;
- 怪物 对怪物 和怪物 各造成 点伤害;
- 怪物 对怪物 和怪物 各造成 点伤害;
- 怪物 对怪物 和怪物 各造成 点伤害;
- 怪物 对怪物 造成 点伤害;
- 怪物 未死亡,因受到 点伤害而防御为 ;
- 怪物 死亡,因受到 点伤害而防御为 ;
- 怪物 死亡,因受到 点伤害而防御为 ;
- 怪物 未死亡,因受到 点伤害而防御为 ;
- 怪物 死亡,因受到 点伤害而防御为 。
第一轮后,怪物 和 存活。
第二轮发生以下情况:
- 怪物 对怪物 造成 点伤害;
- 怪物 对怪物 造成 点伤害;
- 怪物 死亡,因受到 点伤害而防御为 ;
- 怪物 未死亡,因受到 点伤害而防御为 。
接下来的三轮中,仅剩怪物 存活,因此无事发生。