#XMOJ11049. 赋值和求和

赋值和求和

说明

时间限制:1 Sec 内存限制:256 MB 输入文件assign.in 输出文件assign.out

现有一个长度为 $10^9+1$ 的数组 $a[0],a[1],\dots,a[1000000000]$,初始状态下所有元素的值均为 $0$。

你需要处理两种类型的查询操作,并输出最终结果。

操作 0(单点更新)

输入格式如下:$0$ $x$ $y$

执行操作:将数组元素 $a[x]$ 的值增加 $y$。

操作 1(区间求和)

输入格式如下:$1$ $l$ $r$

执行操作:计算当前数组中区间 $[l,r]$ 内所有元素的总和 $a[l]+a[l+1]+\dots+a[r]$,并将该总和累加到答案变量 $ans$ 中。变量 $ans$ 的初始值为 $0$。最终,请输出 $ans$ 的值。

若对题意存在疑问,可参考样例输入进行推断。

输入格式

第一行一个整数 $n$。

接下来 $n$ 行,每行一个操作,含义如题面所述。

输出格式

输出一行,包含最终的 $ans$ 值。

样例

样例 1

10
0 5 2
0 4 3
1 3 5
0 2 1
1 2 4
0 4 2
0 4 4
0 7 1
1 2 5
1 0 10

34

样例说明:

每次执行操作 11 后,ansans 的值依次更新为 5921345\to9\to21\to34,所有操作处理完毕后输出最终的 ansans

数据范围

对于 5% 的数据,满足 $n,x,l,r \le 100$。

对于 20% 的数据,满足 $n \le 100$。

另有 10% 的数据,$x,l,r \le 1000$。

对于 100% 的数据,满足 $2\le n\le 10^5$,操作满足如下要求:

- 操作 $0$:$0\le x\le 10^9$,$0\le y\le 1000$

- 操作 $1$:$0\le l\le r\le 10^9$