2789:积木-3

时间限制:1 S   /  内存限制:65536 KB
AC:86   /  Submit:334
问题描述

给你 n 堆积木,第 i 堆积木有 a[i] 个,现在你需要处理以下三种操作:

1 L R x:给区间 [L,R] 内的每堆积木添加 x 个,即对于 L <= i <= R,a[i] += x。

2 L R x:把区间 [L,R] 内的每堆积木拿走 x 个,即对于 L <= i <= R,a[i] -= x。注意,如果拿之前 a[i] 不足 x 个则全部拿完。

3 y:询问第 y 堆积木有多少个,即输出 a[y]。

输入描述

第一行是一个正整数 n 代表积木的堆数。(1 <= n <= 100000)

然后是 n 个正整数代表每堆积木的个数。(1<= a[i] <= 10000)

第三行是一个正整数 m 代表操作的次数。(1 <= m <= 10000)

接下来 m 行,每行代表一个操作,保证所有的 1 <= L <= R <= 106,1 <= x <= 10000,1 <= y <= n。

输出描述

针对每个“3 y”操作,输出第 y 堆积木有多少个,然后换行。

样例输入复制样例

10

6 2 5 4 8 1 3 4 7 9

10

1 3 7 9

2 4 8 12

3 4

2 1 7 3

1 5 9 6

3 5

3 6

1 4 5 2

2 1 3 4

3 2

样例输出

1

8

6

0

提示说明

冲就完事了!

相关

19-20(2)第3次线上赛

题单#7(结构体排序)


Copyright 2016 - 2024 XUJC ACM Team
闽ICP备2020022076号-1