#ZF1080. clash of clans

clash of clans

Description

倪佬最近在玩部落冲突,在这款游戏中需要使用我方单位进攻敌方建筑来获得胜利。

在一次进攻中,敌方的 nn 个建筑排成了一排,编号分别为 1,2,,n1,2,\dots, n,每个建筑占一个格子,第 ii 个建筑有生命值 hpihp_i,每秒可以造成的伤害 dpsidps_i,攻击范围 did_i。我方决定派出一个野蛮人从敌方编号为 11 的建筑开始按顺序摧毁敌方建筑,我方野蛮人有初始生命值 HPHP,每秒可以造成的伤害 DPSDPS。野蛮人的生命值小于等于 00 时死亡。野蛮人和所有敌方建筑的攻击间隔都为 11 秒。

当野蛮人攻击第 ii 个建筑时,他会位于第 ii 格,此时对于建筑 jj,若 jdjijj - d_j \leqslant i \leqslant j,那么该建筑可以攻击到野蛮人。野蛮人摧毁一个建筑再到达下一个建筑的时间忽略不计,即假如野蛮人在 tt 时刻结束时摧毁了第 i (1in1)i\ (1 \leqslant i \leqslant n - 1) 个敌方建筑,那么在 t+1t+1 时刻开始他便会处于第 i+1i + 1 个敌方建筑所在的位置,并开始攻击。当建筑的生命值小于等于 00 时被摧毁,被摧毁的敌方建筑不再对野蛮人造成伤害。

倪佬想知道,我方野蛮人最终能摧毁几个敌方建筑。

ps:每秒结束时,野蛮人和敌方建筑造成的伤害同时结算。

Format

Input

第一行包含三个正整数 $n,HP,DPS\ (1 \leqslant n \leqslant 10^5,1 \leqslant HP \leqslant 10^6, 1 \leqslant DPS \leqslant 10^3)$,分别表示敌方建筑数,我方野蛮人的最大血量,每秒可以造成的伤害。

接下来 nn 行,第 ii 行包含三个整数 $hp_i,dps_i,d_i\ ( 1 \leqslant hp_i,dps_i \leqslant 10^3,0\leqslant d_i \leqslant 10^3 )$ ,分别表示第 ii 个建筑的血量,攻击力和攻击范围。

Output

输出一个整数,表示野蛮人可以摧毁的敌方建筑数量。

Samples

4 49 3
2 1 0
5 4 1
6 2 1
3 7 2
3

Note

样例中共有 44 个建筑,野蛮人初始血量为 4949,攻击力为 33

  • 第一秒时,野蛮人对第 11 个建筑造成 33 点伤害,第 1,21,2 个建筑对它造成 55 点伤害,野蛮人剩余血量 4444,第 11 个建筑被摧毁。
  • 第二秒时,野蛮人对第 22 个建筑造成 33 点伤害,第 2,3,42,3,4 个建筑对它造成 1313 点伤害,野蛮人剩余血量 3131
  • 第三秒时,野蛮人对第 22 个建筑造成 33 点伤害,第 2,3,42,3,4 个建筑对它造成 1313 点伤害,野蛮人剩余血量 1818,第 22 个建筑被摧毁。
  • 第四秒时,野蛮人对第 33 个建筑造成 33 点伤害,第 3,43,4 个建筑对它造成 99 点伤害,野蛮人剩余血量 99
  • 第五秒时,野蛮人对第 33 个建筑造成 33 点伤害,第 3,43,4 个建筑对它造成 99 点伤害,野蛮人剩余血量 00,第 33 个建筑被摧毁,同时野蛮人死亡。

Limitation

1s, 1024KiB for each test case.