#P11101. [ROI 2022] 天狼星探险队 (Day 2)

[ROI 2022] 天狼星探险队 (Day 2)

Description

需要回答几个问题。每个问题可以是以下三种类型之一:

  1. 在进行 kk 个回合后,玩家将拥有多少不同的级别?
  2. 在前 kk 个回合中,所有玩家共添加了多少经验?
  3. 在第 kk 个回合结束时,玩家编号 ii 将拥有多少经验?

Input Format

第一行包含两个整数 nnqq1n,q300,0001\le n,q\le300,000),分别表示玩家数量和需要回答的问题数量。

第二行包含 nn 个整数 cic_i0ci10120\le c_i\le10^{12}),表示当前游戏开始时每个玩家的经验值。

接下来有 qq 行问题。每行以整数 ttt{123}t\in\{1,2,3\})开头,表示问题类型。

  • 如果 t=1t=1,则后面是整数 kk0k10120\le k\le10^{12}),表示回合数。
  • 如果 t=2t=2,则后面是整数 kk0k10120\le k\le10^{12}),表示回合数。
  • 如果 t=3t=3,则后面是两个整数 kkii0k10121in0\le k\le10^{12},1\le i\le n),表示回合数和玩家编号。

在所有问题中,k=0k=0 表示游戏开始时到进行第一轮之前的时刻。

Output Format

对于每个问题,输出一行一个数字表示其答案。

6 6
5 4 4 2 2 2
1 0
1 1
1 2
2 1
2 2
3 1 5
3
2
1
8
11
4
5 4
0 3 5 4 2
1 0
1 1
2 1
3 1 1
5
2
10
4

Hint

下图是两个样例中游戏进行时玩家的经验值变化。

全部数据范围见输入格式。

Subtask 分值 nn\le qq\le c,kc,k\le tt
11 1818 50005000 10410^4
22 1616 10710^7
33 1414 101210^{12}
44 77 3×1053\times10^5 3×1053\times10^5 10710^7
55 1212 50005000 101210^{12}
66 1414 3×1053\times10^5 t=1t=1
77 1010 t{1,2}t\in\{1,2\}
88 99