#6341. 区间 or 和

内存限制:256 MiB 时间限制:2000 ms 标准输入输出
题目类型:传统 评测方式:文本比较
上传者: kczno1

题目描述

给定一个序列,支持单点修改,询问满足区间 \texttt{or} \ge 一个数的区间的最短可能长度。无解输出 -1

输入格式

第一行为 n,q 。表示序列长度,操作个数。
接下来一行 n 个数,表示 a_1, a_2, \ldots, a_n
接下来 q 行,每行形如:
1\ i\ x 表示将 a_{i} 修改为 x
2\ k 表示询问 \min \{r-l+1|a_{l}\ \texttt{or}\ a_{l+1}\ldots\texttt{or}\ a_{r}\ge k\}

输出格式

对于每个询问,输出一行,表示答案。无解输出 -1

样例

样例输入

2 3
0 2 
2 3
1 1 1
2 3

样例输出

-1
2

数据范围与提示

对于 100\% 的数据, 0\le a_{i}, k \le 2^{30} n,q \le 50000