#4466. All Assign Point Add

0

All Assign Point Add

All Assign Point Add

题目描述

给你一个长度为 NN 的数列 A=(A1,A2,…,AN)A = (A_1, A_2, \dots, A_N)。 给出 QQ 个查询,按顺序处理所有查询。 第 qq 个 (1≤q≤Q)(1\leq q\leq Q) 查询是以下三种格式之一,表示如下查询内容:

1 xq1\ x _ q: 将 xqx_q 赋值给 AA 的每个元素。 2 iq xq2\ i _ q\ x _ q: 将 xqx_q 加到 AiqA _ {i _ q} 上。 3 iq3\ i _ q: 输出 AiqA _ {i _ q} 的值。

输入格式

输入从标准输入给出,格式如下: NN A1A_1 A2A_2 …\dots ANA_N QQ query⁡1\operatorname{query}_1 query⁡2\operatorname{query}_2 ⋮\vdots query⁡Q\operatorname{query}_Q

这里,query⁡q\operatorname{query}_q 表示第 qq 个查询,格式为以下三者之一:1x1 x、2ix2 i x 和 3i3 i。

输出格式

输出 XX 行,其中 XX 是满足 query⁡q\operatorname{query}_q 为第三种格式的 qq 的数量 (1≤q≤Q)(1\leq q\leq Q)。 第 jj 行 (1≤j≤X)(1\leq j\leq X) 应包含对第 jj 个此类查询的答案。

5
3 1 4 1 5
6
3 2
2 3 4
3 3
1 1
2 3 4
3 3
1
8
5
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
8000000000
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
7
5
7
21
21
19
10

提示

1≤N≤2×1051 \leq N \leq 2\times10^5 1≤Q≤2×1051 \leq Q \leq 2\times10^5 0≤Ai≤109 (1≤i≤N)0 \leq A _ i \leq 10^9\ (1\leq i\leq N) 如果第 qq 个 (1≤q≤Q)(1\leq q\leq Q) 查询是第二种或第三种格式,则 1≤iq≤N1 \leq i _ q \leq N。 如果第 qq 个 (1≤q≤Q)(1\leq q\leq Q) 查询是第一种或第二种格式,则 0≤xq≤1090 \leq x _ q \leq 10^9。 至少存在一个第三种格式的查询。 输入中的所有数值均为整数。最初,A=(3,1,4,1,5)A=(3,1,4,1,5)。 按如下方式处理查询:

A2=1A_2=1,因此输出 11。 将 44 加到 A3A_3,使得 A=(3,1,8,1,5)A=(3,1,8,1,5)。 A3=8A_3=8,因此输出 88。 将 11 赋值给 AA 的每个元素,使得 A=(1,1,1,1,1)A=(1,1,1,1,1)。 将 44 加到 A3A_3,使得 A=(1,1,5,1,1)A=(1,1,5,1,1)。 A3=5A_3=5,因此输出 55。
注意 AA 的元素可能无法用 32 位整型表示。

标签: AtCoder|abc278D

来源

AtCoder|abc278D