时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 512 M,其他语言1024 M
64bit IO Format: %lld
题目描述
桌面上有一把带有

个弹巢的左轮,弹巢按

的编号,顺时针绕成一圈,
起初
号弹巢对准了枪管。
现在有

个人从左到右坐成一排,准备玩死亡左轮的游戏,与普通的死亡左轮规则不同:
对于每个人都有一个权值

,表示当第

个人开枪后,其左轮的弹巢将会逆时针旋转

格(即如果当前枪管对准的是

号弹巢,则旋转完对准

号弹巢)。
如果当前枪管所对的弹巢有子弹,那么这次开枪后,这个人就会死亡,且在本轮游戏中子弹会被消耗,即下一次转到这个弹巢就没子弹了。
现在 jackle 有

次询问,每次询问一个区间
![[l,r]](https://www.nowcoder.com/equation?tex=%5Bl%2Cr%5D)
表示,从第

个人开始到第

个人,玩死亡左轮,每人依次开一枪,请问第几个人最先死亡?如果没人死亡,请你输出 No one died。
注意每次询问都是独立的,即每次死亡左轮的游戏,枪管都会对准

号弹巢,且子弹都会复原回初始状态。
输入描述:
第
行输入
正整数,
,分别表示弹巢数量,人数,询问次数。
第
行输入
个数,
,表示第
个弹巢是否有子弹,
表示没有,
表示有。
第
行输入
个数,
,表示第
个人每次开枪后,弹巢会逆时针旋转的次数。
接下来
行,每行输入两个正整数
,表示询问的区间。
输出描述:
对于每个询问,如果有人死亡,请你输出最先死亡的是第几个人,否则输出 No one died。
示例1
输入
复制
2 3 3
0 1
1 2 3
1 3
2 3
1 2