题目描述
给定一个序列,支持单点修改,询问满足区间 or 和 ≥ 一个数的区间的最短可能长度。无解输出 -1
。
输入格式
第一行为 n,q。表示序列长度,操作个数。
接下来一行 n 个数,表示 a1,a2,…,an。
接下来 q 行,每行形如:
1 i x 表示将 ai 修改为 x;
2 k 表示询问 min{r−l+1∣al or al+1…or ar≥k}。
输出格式
对于每个询问,输出一行,表示答案。无解输出 -1
。
样例
2 3
0 2
2 3
1 1 1
2 3
-1
2
数据范围与提示
对于 100% 的数据,0≤ai,k≤230 ,n,q≤50000。