题目描述
对于一个长度为n的数列a,你需要高效地维护如下两种操作:
(1)修改,将某个数a[i]改为指定的值t;
(2)查询,询问区间[i,j]中第k小的数字是多少。
输入
输入数据第一行包含两个整数n和m,其中1≤n≤50000,1≤m≤10000,分别代表数列的长度以及指令数。
接下来一行n个数,代表这个数列。
接下来m行,每行代表一个操作。如果是查询操作,那么会以“Q i j k”的形式给出;如果是修改操作,那么会以"C i t“形式给出。
输出
对于每个查询,输出一行一个整数,对应查询的结果。
5 3
3 2 1 4 7
Q 1 4 3
C 2 6
Q 2 5 3
提示
【数据及时间和空间限制】
有20%的数据,n和m均不超过1000。
时间限制为2秒,空间限制为256MB。