#10692. 时间

内存限制:256 MiB 时间限制:1000 ms 标准输入输出
题目类型:传统 评测方式:文本比较
上传者: Turing001

题目描述

S 是一个超能力者,他可以自由操纵时间,具体来说,他每次操作都是下面两种之一:

1、花费 t 时间做一件收益为 w_i 的事情,如果做这件事之前的时间为 x ,则完成后的时间为 x+t

2、令当前时间为 x ,回退到最后一个完成时间在 x-p x-p 之前的事情完成的时刻,如果不存在,则默认回到时刻 0

S 每次操作完后,你需要告诉他他目前已经做过的事情的收益之和,我们默认初始时间为 0

输入格式

第一行,一个数 m ,表示操作的次数。

接下来 m 行,每行第一个数 q ,代表操作种类:

q=1 ,则输入两个数 t,w

q=2 ,则输入一个数 p

输出格式

对于每次操作,输出一行,表示答案。

样例

样例输入

5
1 3 4
2 0
1 4 4
2 5
1 5 5

样例输出

4
4
8
0 
5

说明:第1次操作后,时间为3=0+3,收益为4;

第2次操作后,时间退回到3=3-0,所以收益仍为4;

第3次操作后,时间为7=3+4,收益为8=4+4;

第4次操作后,时间退回到2=7-5,所以收益0;

第5次操作后,时间为7=2+5,收益为5=0+5。

数据范围与提示

对于 50% 的数据, 1\leq m \leq 100,1\leq w \leq 20 ,对于任意事情的完成时刻不会超过 10^4

对于 100% 的数据, 1\leq m \leq 5\times 10^5,1\leq w \leq 10^6 ,对于任意事情的完成时刻和任何时刻的总收益不会超过 10^{18}