#L6811. 「THUPC 2022 初赛」搬砖

    ID: 4238 传统题 3000ms 256MiB 尝试: 3 已通过: 1 难度: 10 上传者: 标签>动态规划分块算法并查集优化跳跃前缀和

「THUPC 2022 初赛」搬砖

#6811. 「THUPC 2022 初赛」搬砖 题目背景
张华考上了北京大学;李萍进了中等技术学校;小 E 在工地搬砖:他们都有光明的前途。


题目描述
温馨提示:请不要模仿小 E 的搬砖方式,那样很累。

为了能够快乐地搬砖,小 E 有一种特殊的搬砖方式。

假设他的面前有 nn 摞砖,他会在一个小时内搬走每一摞砖最上面的 dd 块。其中 dd 是小 E 当前的精力值。如果一摞砖不够 dd 块,小 E 会把这一摞砖剩下的所有砖搬走。

当小 E 工作完一个小时后发现自己搬完了至少一摞砖,那么他会觉得很快乐,并且继续工作一个小时;但是由于完成了一部分工作,小 E 可能会产生懈怠的心理,导致精力值有所下降。具体地,对于每一摞砖都有一个属性 bb,当小 E 搬完这一摞砖后,精力值就会下降 bb

如果没有任何一摞砖被搬完,小 E 就会停止工作。如果精力值下降到 00 或以下,小 E 也会停止工作。如果小 E 发现自己需要工作但是所有的砖已被搬完,他会用别的方式来度过这一小时,但这一小时仍算作小 E 的工作时间。

工地的砖在不停增加,问如果小 E 初始的精力值为 dd,那么他可以连续工作几个小时?


输入格式
第一行一个正整数 TT,表示事件总数。

接下来 TT 行,每行若干个整数,其中第一个整数为 opop 表示事件类型。

  • op=1op=1,则后面跟着两个整数 a,ba,b,表示新增了一摞砖,砖有 aa 块,搬完后小 E 的精力值会下降 bb
  • op=2op=2,则后面跟着一个正整数 dd,询问若小 E 初始的精力值为 dd,那么他可以连续工作几个小时。

注意 op=2op=2 的操作不会改变任何一摞砖的数量。


输出格式
对于每个询问,输出一行一个整数表示答案。


样例 1
输入

5
1 6 1
1 3 0
1 9 2
2 3
2 4

输出

3
4

第一组询问:

初始有 33 摞砖,数量分别为 (6,3,9)(6,3,9),小 E 的初始精力是 33

  • 第一个小时,小 E 在每一摞砖中各搬了 33 块,数量变成 (3,0,6)(3,0,6)。其中第二摞砖被搬完,小 E 的精力因此下降 00 并且继续工作一个小时。
  • 第二个小时,小 E 在每一摞砖中各搬了 33 块,数量变成 (0,0,3)(0,0,3)。其中第一摞砖被搬完,小 E 的精力因此下降 11 并且继续工作一个小时。
  • 第三个小时,小 E 在每一摞砖中各搬了 22 块,数量变成 (0,0,1)(0,0,1)。由于没有新的砖摞被搬完,小 E 停止工作。

第二组询问:

初始有 33 摞砖,数量分别为 (6,3,9)(6,3,9),小 E 的初始精力是 44

  • 第一个小时,小 E 在每一摞砖中各搬了 44 块(第二摞砖由于只有 33 块就只搬了 33 块,以下省略),数量变成 (2,0,5)(2,0,5)。其中第二摞砖被搬完,小 E 的精力因此下降 00 并且继续工作一个小时。
  • 第二个小时,小 E 在每一摞砖中各搬了 44 块,数量变成 (0,0,1)(0,0,1)。其中第一摞砖被搬完,小 E 的精力因此下降 11 并且继续工作一个小时。
  • 第三个小时,小 E 在每一摞砖中各搬了 33 块,数量变成 (0,0,0)(0,0,0)。其中第三摞砖被搬完,小 E 的精力因此下降 22 并且继续工作一个小时。
  • 第四个小时,小 E 在每一摞砖中各搬了 11 块,但其实此时已经没有砖了,不过这一小时仍然算进小 E 的工作时间。由于没有新的砖摞被搬完,小 E 停止工作。

样例 2
输入

4
1 2 1
2 2
1 2 1
2 2

输出

2
1

第一组询问:

初始有 11 摞砖,数量为 22,小 E 的初始精力是 22

  • 第一个小时,小 E 在每一摞砖中各搬了 22 块,数量变成 00。这一摞砖被搬完,小 E 的精力因此下降 11 并且继续工作一个小时。
  • 第二个小时,小 E 在每一摞砖中各搬了 11 块,但其实此时已经没有砖了,不过这一小时仍然算进小 E 的工作时间。由于没有新的砖摞被搬完,小 E 停止工作。

第二组询问:

初始有 22 摞砖,数量为 (2,2)(2,2),小 E 的初始精力是 22

  • 第一个小时,小 E 在每一摞砖中各搬了 22 块,数量变成 (0,0)(0,0)。两摞砖都被搬完,小 E 的精力因此下降 1+1=21+1=2。由于小 E 的精力下降到 00,他停止工作。

数据范围与提示
保证 T351493T \le 3514931op21 \le op \le 21a1000001 \le a \le 1000000b1000000 \le b \le 1000001d1000001 \le d \le 100000