清除路障(block)
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
【题目描述】
在一个一维坐标轴上有 个点,坐标分别为 。
初始的时候每个点上都有一个障碍物,坐标为 上的障碍物坚固程度为 。
现在小A有 次操作或者询问:
- 将坐标为 上的障碍物的坚固程度减去 ,若减去后该障碍物的坚固程度小于等于0,则该障碍物消失。
- 询问若一个人从坐标为 的位置向右走,他最多可以到达哪个位置?(如果碰到障碍物或者到达坐标点 则停止向右走)
【输入格式】
从文件block.in中读入数据。
- 第一行两个整数 。
- 第二行 个整数 。
- 接下来 行,每行三个整数或者两个整数,表示操作或者询问。
- 若该行第一个数为 ,后面会接着两个整数 ,表示操作。
- 若该行第一个数为 ,后面会接着一个整数 ,表示询问。
【输出格式】
输出到文件block.out中。
- 输出若干行,对于每一个询问操作,输出对应的答案。
【输入样例 1】
5 4
1 2 3 4 5
2 3
1 3 3
2 2
2 3
【输出样例 1】
3
2
4
【输入输出样例 2】
见 block2.in 与 block2.ans
【数据范围与约定】
- 对于测试点 :$1\le n,m\le 3000,1\le a_i\le 10^9,1\le p \le n,1\le x \le 10^9$。
- 对于测试点 :$1\le n\le 10^6,2\le m \le 10^6,,1\le p \le n,1\le x \le 10^9$,前 次都是操作,第 次是询问。
- 对于测试点 :。
- 对于测试点 :$1\le n,m\le 10^6,1\le a_i\le 10^9,1\le p\le n,1\le x\le 10^9$。