#CF2049F. MEX OR Mania

MEX OR Mania

F. MEX OR Mania

每个测试用例时间限制44每个测试用例内存限制10241024 兆字节

若整数序列 b1,b2,,bnb_1,b_2,\dots,b_n 满足

$$\operatorname{mex}(b_1,b_2,\dots,b_n) - \left(b_1 \mid b_2 \mid \dots \mid b_n\right) = 1 $$

则称该序列为好序列。 其中,mex(c)\operatorname{mex}(c) 表示集合 cc最小未出现非负整数\mid 代表按位或运算

Shohag 拥有一个整数序列 a1,a2,,ana_1,a_2,\dots,a_n,他会对序列 aa 执行 qq 次更新操作: i x —— 将 aia_i 的值增加 xx

请你在每次更新后,求出序列 aa 中**最长好子数组†**的长度。


补充定义

最小未出现非负整数(MEX): 整数集合 c1,c2,,ckc_1,c_2,\dots,c_k 的 MEX 定义为最小的未出现在集合中的非负整数 yy

子数组: 若数组 dd 可以通过删除数组 ff 开头的若干个元素(可以为 00 个)、结尾的若干个元素(可以为 00 个)得到,则 ddff连续子数组


输入格式

每个测试文件包含多组测试用例

  1. 第一行输入测试用例的数量 tt1t1041 \le t \le 10^4)。
  2. 每组测试用例的格式:
    • 第一行输入两个空格分隔的整数 nnqq1n,q1051 \le n,q \le 10^5)。
    • 第二行输入 nn 个整数 a1,a2,,ana_1,a_2,\dots,a_n0ain0 \le a_i \le n)。
    • 接下来 qq 行,每行格式为 i x1i,xn1 \le i,x \le n),表示将 aia_i 增加 xx

保证: 所有测试用例的 nn 之和不超过 10510^5,所有测试用例的 qq 之和不超过 10510^5


输出格式

对于每组测试用例,输出 qq 行: 第 ii 行输出第 ii 次更新后,序列 aa 中最长好子数组的长度。


样例输入

2
6 3
0 0 1 0 1 0
6 1
3 2
6 3
3 1
1 3 1
1 1

样例输出

6
3
2
0

样例解释

第一组测试用例

  1. 第一次更新后,数组变为 [0,0,1,0,1,1][0,0,1,0,1,1]。 整个数组是好序列: $\operatorname{mex}([0,0,1,0,1,1]) - (0 \mid 0 \mid 1 \mid 0 \mid 1 \mid 1) = 2 - 1 = 1$。

  2. 第二次更新后,数组变为 [0,0,3,0,1,1][0,0,3,0,1,1]。 子数组 [0,1,1][0,1,1] 是最长的好子数组。

  3. 第三次更新后,数组变为 [0,0,3,0,1,4][0,0,3,0,1,4]。 子数组 [0,0][0,0][0,1][0,1] 均为最长的好子数组。