由乃不太会打扑克
所以她出了一个数据结构题
给你一个长为 $n$ 的序列 $a$,需要支持 $m$ 次操作,操作有两种:
- 查询区间 $[l,r]$ 的第 $k$ 小值。
- 区间 $[l,r]$ 加上 $k$。
输入格式
一行两个整数 $n,m$。
接下来一行 $n$ 个整数, 第 $i$ 个整数表示 $a_i$。
接下来 $m$ 行,每行四个数 $opt,l,r,k$,其中 $opt$ 代表是哪种操作。
输出格式
对于每个询问输出一个数表示答案,如果无解输出 $-1$。
样例数据
样例输入
1 1
1
1 1 1 1
样例输出
1
子任务
Idea:nzhtl1477,
Solution:nzhtl1477( $O( msqrtn( \Delta + logn ) )$ ) solution,ccz181078( $O( msqrt(nlogn) )$ ) solution
Code:nzhtl1477( $O( msqrtn( \Delta + logn ) )$ ) code,ccz181078( $O( msqrtnlogn )$ ) code
,Data:nzhtl1477
$1\leq n,m\leq 10^5$,$-2\times 10^4\leq $ 每次加上的数和原序列的数 $\leq 2\times 10^4$。