#NP0036. L09 NP0036-小码哥的栈

0

L09 NP0036-小码哥的栈

题目描述

小码哥刚学会了栈,现在他想到了这样一个问题,有一个栈,支持这两种操作: 操作一:把[l,r][l,r]中的所有整数依次入栈。即在栈顶依次加入l,l+1,…,r−1,rl,l+1,…,r-1,r。 操作二:取出栈顶的kk个元素,并求出这kk个整数的和。保证kk不大于栈中元素个数。

小码哥想知道每次操作二的答案,你能帮帮他吗?

输入格式

第一行输入一个整数nn,表示操作的个数; 接下来nn行每行一个操作,第一个整数optopt表示操作种类: 若opt=1opt=1,则表示操作一,接下来输入两个整数l,rl,r。 若opt=2opt=2,则表示操作二,接下来输入一个整数kk。

输出格式

对于每次操作二,输出一行一个整数,表示你的答案。

样例输入 #1

4
1 1 10
1 1 5
2 4
2 10

样例输出 #1

14
55

说明/提示

对于20%的数据,有n,l,r≤100n,l,r\leq 100。 对于另外20%的数据,有l=rl=r。 对于100%的数据,有$1\leq n\leq 10^6,0\leq l\leq r\leq 10^6,1\leq k\leq 10^{12}$。