#434. 全体赋值与单点加法
全体赋值与单点加法
问题描述
给定一个长度为的序列。 处理个按顺序给出的查询。
第个查询是以下三种格式之一,分别表示以下操作:
- :将中的每个元素赋值为。
- :将加到上。
- :输出的值。
约束条件
- 如果第个查询是第二种或第三种格式,则。
- 如果第个查询是第一种或第二种格式,则。
- 输入中至少有一个第三种格式的查询。
- 输入中的所有值都是整数。
输入
输入从标准输入按以下格式给出:
N
A_1 A_2 ... A_N
Q
query_1
query_2
...
query_Q
其中,表示第个查询,格式为以下之一:1 x、2 i x、3 i。
输出
输出行,其中是第三种格式查询的数量。
第个行应包含对第个此类查询的答案。
样例输入1
5
3 1 4 1 5
6
3 2
2 3 4
3 3
1 1
2 3 4
3 3
样例输出1
1
8
5
初始时,。
查询处理如下:
- ,输出。
- 将加到上,变为。
- ,输出。
- 将中所有元素赋值为,变为。
- 将加到上,变为。
- ,输出。
样例输入2
1
1000000000
8
2 1 1000000000
2 1 1000000000
2 1 1000000000
2 1 1000000000
2 1 1000000000
2 1 1000000000
2 1 1000000000
3 1
样例输出2
8000000000
注意的元素可能超出32位整数类型的范围。
样例输入3
10
1 8 4 15 7 5 7 5 8 0
20
2 7 0
3 7
3 8
1 7
3 3
2 4 4
2 4 9
2 10 5
1 10
2 4 2
1 10
2 3 1
2 8 11
2 3 14
2 1 9
3 8
3 8
3 1
2 6 5
3 7
样例输出3
7
5
7
21
21
19
10