给定一个长度为n序列a,其中所有元素都为1或2,要求进行q 次操作,每次操作为以下之一:
-
1 s:询问是否存在一个a的子串满足其中元素总和为s;
-
2 i v:将ai改为v(v∈{1,2})。
第一整数为T,表示有T (1≤T≤10000)组测试样例。
每组测试数据的第一行包含2个正整数n与q(1≤n,q≤1e5),分别表示数列的长度与操作次数。
第二行为n个整数a1,a2,...,an。其中ai为1或2。
接下来q行,每行的第1个数op为1或2。
-
若op=1,则后面跟一个s(1≤s≤2n).
-
若op=2,则后面跟2个整数i或v (1≤i≤n, v是 1 或 2).
测试数据保证所有的n与q之和不超过1e5。
第1个询问输出YES,因为a1+a2+a3=2+1+2=5;
第2个询问输出YES,因为a1+a2+a3+a4=2+1+2+1=6;
第3个询问输出NO,因为不能发现任何子序列之和为7;
第4个操作后,序列a变为 [2,1,2,2,2];
第5个询问输出YES,因为a2+a3+a4+a5=1+2+2+2=7。