序列
题目描述
给定一个长度为 $n$ 的序列,给出 $q$ 个操作,形如:
$1~l~r~x$ 表示将序列下标介于 $[l,r]$ 的元素加上 $x$ (请注意,$x$ 可能为负)
$2~p~y$ 表示查询 $a_p$ 在过去的多少秒时间内不小于 $y$ (不包括这一秒,细节请参照样例)
开始时为第 $0$ 秒,第 $i$ 个操作发生在第 $i$ 秒。
输入输出格式
输入格式
第一行两个整数 $n,q$,意义如描述所述。
接下来一行 $n$ 个整数 $a_i$,表示序列的每个元素的初始值。
接下来 $q$ 行,每行第一个数为 $\text{opt}$,表示这次操作的类型。如果 $\text{opt} = 1$,后面紧跟三个整数 $l, r, x$,意义如描述所述;如果 $\text{opt} = 2$,后面紧跟两个整数 $p, y$,意义如描述所述。
输出格式
对于每个操作 $2$,在一行内输出一个数表示答案。
输入输出样例
输入样例 #1
3 3
1 3 5
2 1 2
1 1 2 -3
2 1 1
输出样例 #1
0
2
说明
样例一说明:位置 $1$ 在第 $0$ 秒到第 $3$ 秒的值为 $1,1,-2,-2$。对于第一个查询,第 $0$ 到 $1-1=0$ 秒中时间不小于 $2$;对于第二个查询,第 $0$ 到第 $3-1=2$ 秒时间不小于 $1$,分别为第 $0$ 秒,第 $1$ 秒。
对于 $30\%$ 的数据,保证 $n,q \leq 1000$
对于 $70\%$ 的数据,保证 $n,q \leq 50000$
对于 $100\%$ 的数据,保证 $2 \leq n,q \leq 100000$, $1 \leq l \leq r \leq n$, $1 \leq p \leq n$,$-10^9 \leq x,y,a_i \leq 10^9$