问题 7048 --溢出

7048: 溢出

时间限制: 2 Sec  内存限制: 256 MB
提交: 2  解决: 0
[提交][状态][命题人:]

题目描述

如图有 n 个容器排成一列,从上到下编号分别为 1 到 n ,第 i 个容器的容积为 a[i] 升。
最初所有容器都是空的,当向容器倒水后,对于任意 i∈[1,n-1] ,第 i 个容器中溢出的水会流向第 i+1 个容器,第 n 个容器中溢出的水会洒到地板上。

有 m 次操作,每次操作为以下两种之一:
1. 向第 x 个容器中倒 y 升水;
2. 查询第 x 个容器中的水量;

对于每个第二种操作,你需要输出查询结果。

输入

第一行包含一个整数 n (1≤n≤2·10^5 ) ,表示容器数。
第二行包含 n 个整数 a[1], a[2], ..., a[n] (1≤a[i]≤10^9) ,表示每个容器的容积。
第三行包含一个整数 m (1≤m≤2·10^5),表示操作数。
接下来 m 行,每行表示一个操作,如果是第一种操作,则包含三个整数 "1 x y" (1≤x≤n, 1≤y≤10^9) ,如果是第二种操作,则包含两个整数 "2 x" (1≤x≤n)。

输出

对于每个查询,在一行中打印相应容器中的水升数。
样例输入
Copy
样例1:
2
5 10
6
1 1 4
2 1
1 2 5
1 1 4
2 1
2 2

样例2:
3
5 10 8
6
1 1 12
2 2
1 1 6
1 3 2
2 2
2 3
样例输出
Copy
样例1:
4
5
8

样例2:
7
10
5

提示

来源

[提交][状态]