#ZF1080. clash of clans
clash of clans
Description
倪佬最近在玩部落冲突,在这款游戏中需要使用我方单位进攻敌方建筑来获得胜利。
在一次进攻中,敌方的 个建筑排成了一排,编号分别为 ,每个建筑占一个格子,第 个建筑有生命值 ,每秒可以造成的伤害 ,攻击范围 。我方决定派出一个野蛮人从敌方编号为 的建筑开始按顺序摧毁敌方建筑,我方野蛮人有初始生命值 ,每秒可以造成的伤害 。野蛮人的生命值小于等于 时死亡。野蛮人和所有敌方建筑的攻击间隔都为 秒。
当野蛮人攻击第 个建筑时,他会位于第 格,此时对于建筑 ,若 ,那么该建筑可以攻击到野蛮人。野蛮人摧毁一个建筑再到达下一个建筑的时间忽略不计,即假如野蛮人在 时刻结束时摧毁了第 个敌方建筑,那么在 时刻开始他便会处于第 个敌方建筑所在的位置,并开始攻击。当建筑的生命值小于等于 时被摧毁,被摧毁的敌方建筑不再对野蛮人造成伤害。
倪佬想知道,我方野蛮人最终能摧毁几个敌方建筑。
ps:每秒结束时,野蛮人和敌方建筑造成的伤害同时结算。
Format
Input
第一行包含三个正整数 $n,HP,DPS\ (1 \leqslant n \leqslant 10^5,1 \leqslant HP \leqslant 10^6, 1 \leqslant DPS \leqslant 10^3)$,分别表示敌方建筑数,我方野蛮人的最大血量,每秒可以造成的伤害。
接下来 行,第 行包含三个整数 $hp_i,dps_i,d_i\ ( 1 \leqslant hp_i,dps_i \leqslant 10^3,0\leqslant d_i \leqslant 10^3 )$ ,分别表示第 个建筑的血量,攻击力和攻击范围。
Output
输出一个整数,表示野蛮人可以摧毁的敌方建筑数量。
Samples
4 49 3
2 1 0
5 4 1
6 2 1
3 7 2
3
Note
样例中共有 个建筑,野蛮人初始血量为 ,攻击力为 。
- 第一秒时,野蛮人对第 个建筑造成 点伤害,第 个建筑对它造成 点伤害,野蛮人剩余血量 ,第 个建筑被摧毁。
- 第二秒时,野蛮人对第 个建筑造成 点伤害,第 个建筑对它造成 点伤害,野蛮人剩余血量 。
- 第三秒时,野蛮人对第 个建筑造成 点伤害,第 个建筑对它造成 点伤害,野蛮人剩余血量 ,第 个建筑被摧毁。
- 第四秒时,野蛮人对第 个建筑造成 点伤害,第 个建筑对它造成 点伤害,野蛮人剩余血量 。
- 第五秒时,野蛮人对第 个建筑造成 点伤害,第 个建筑对它造成 点伤害,野蛮人剩余血量 ,第 个建筑被摧毁,同时野蛮人死亡。
Limitation
1s, 1024KiB for each test case.