#aBC278Did260. D - All Assign Point Add

D - All Assign Point Add

AT_abc278_d [ABC278D] All Assign Point Add

题目描述

【题目翻译】

给定长度为 nn 的数组 aa,每次有三种操作:

  • opi=1op_i = 1,表示将 aa 数组全部元素替换成 kk
  • opi=2op_i = 2,表示 aiai+ka_i \gets a_i + k
  • opi=3op_i = 3,表示查询 aia_i 的值。

对于每个 opi=3op_i = 3,输出结果。

translated by

https://www.luogu.com.cn/user/367488

输入格式

第一行一个数 nn

接下来 nn 个数,表示 aa 数组。

第三行一个数 qqqq 表示操作次数。

接下来 qq 行,每行表示一次操作:

  • opi=1op_i = 1,则再读入一个数 kk
  • opi=2op_i = 2,则再读入两个数 iikk
  • opi=3op_i = 3,则再读入一个数 ii

输出格式

对于每个 opi=3op_i = 3,输出结果。

输入输出样例 #1

输入 #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

输入 #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

输入输出样例 #3

输入 #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

说明/提示

1n,q2×1051 \le n, q \le 2 \times 10^5

保证 1in1 \le i \le n1ai,k1091 \le a_i, k \le 10^9