时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld
题目描述
瑶桑的技能是一组联动齿轮,一共有

个齿轮,第

个齿轮的齿数为

,第

个齿轮的第

个齿的攻击值为

。
每个齿轮上均拥有一个指针,第

秒时,每个齿轮均指向该齿轮的第

个齿。
我们采用数字

代表第

个齿轮指向的齿轮的编号,即一开始

,
![i \in [1,n]](https://www.nowcoder.com/equation?tex=i%20%5Cin%20%5B1%2Cn%5D)
。
当时间开始流逝,经过

秒,第

个齿轮转动一次,即

。
当第

个齿轮旋转一圈后,第

个齿轮才转动一次,即每当

时,

,且

。
对于任意时刻,瑶桑的技能齿轮能产生的伤害为

。
现在瑶桑想要狩猎果酱,她已经获得了

只果酱的信息,准备逐一狩猎这些果酱,对于第 $i$ 只果酱的血量为

,已知该果酱外出的时间段为
![[ L_i , R_i ]](https://www.nowcoder.com/equation?tex=%5B%20L_i%20%2C%20R_i%20%5D)
。现在瑶桑想要一击必杀果酱,即

。请问瑶桑至少需要等待至多少秒,才能达成一击必杀的成就。
注意,每只果酱能否击杀均为独立询问
输入描述:
第一行给定两个整数
,
,代表联动齿轮的个数,果酱的个数。
随后
行数字代表第
个齿轮的信息。
对于每一行,首先输入一个整数
,代表第
个齿轮的齿数,随后
个整数
代表第
个齿轮的第
个齿的攻击值。
随后
行,每行三个数字
,
,
,分别代表果酱的血量、果酱出现时间、果酱消失的时间。
数据保证
,
,
,
,
,
。
输出描述:
输出
行,每行输出一个整数代表答案,如果无法杀死果酱,请输出 -1。
示例1
输入
复制
2 3
4 1 2 3 4
2 2 5
7 3 7
3 3 5
9 3 5
说明
第

秒时,此时的

数组为
![[4,1]](https://hr.nowcoder.com/equation?tex=%5B4%2C1%5D)
, 齿轮组造成的伤害为

点伤害
第
秒时,此时的
数组为
,齿轮组造成的伤害为
点伤害
第
秒时,此时的
数组为
,齿轮组造成的伤害为
点伤害
所以等待至第

秒时,瑶桑造成的伤害能够击杀第

只果酱。
第
秒时,此时的
数组为
, 齿轮组造成的伤害为
点伤害
所以等待至第
秒时,瑶桑造成的伤害能够击杀第
只果酱。
可以发现该果酱无法一击必杀