编程题
### 问题描述 给定一个长度为 $n$ 的数组 $a$ 。现在有 $q$ 次询问,给出两个整数 $l$ 和 $r$ ,求 $a[l]\;|\;a[l+1]\;| \cdots |\;a[r-1]\;|\;a[r]$ 的值,其中 $|$ 代表按位或。 ### 输入格式 第一行两个整数 $n,q$ 分别数组的长度和询问次数。 接下来一行 $n$ 个整数,$a_1,a_2,\cdots,a_n$ ,表示数组 $a$ 。 接下来 $q$ 行: 每行两个整数 $l,r$ ,代表询问给出的区间。 ### 输出格式 对于每一次询问,输出一个整数表示结果。 ### 样例输入 ```text 5 2 1 2 3 4 5 1 5 2 3 ``` ### 样例输出 ```text 7 3 ``` ### 说明 对于第一次查询 $1\;|\;2\;|\;3\;|\;4\;|\;5 = 7$ 。 对于第二次查询 $2\;|\;3 = 3$ 。 ### 评测数据规模 对于 $50$% 的评测数据,$1\leq n\leq 10^5, 1\leq q \leq 100, 1\leq l,r\leq n, 1 \leq a_i \leq 10^9$ 。 对于 $100$% 的评测数据,$1\leq n,q\leq 10^5, 1\leq l\leq r\leq n,1 \leq a_i \leq 10^9$ 。
查看答案
赣ICP备20007335号-2