A29153.狒狒食肆

普及/提高-

官方

通过率:0%

时间限制:1.00s

内存限制:128MB

题目描述

时间限制:1000ms
空间限制:128mb

YuiliceYuilice正在游玩一款名为FF14FF14的游戏,在这款游戏当中,有一个大BOSSBOSS佐迪亚克,为了打败他,YuiliceYuilice需要在古代人世界当中搜索十四人委员会留下来的徽章,最后合成阿谢姆徽章打败佐迪亚克。

现在已知共有nn个徽章,每个徽章都有着一定的力量,他们的力量值分别为a1,a2,a3..ana_1,a_2,a_3..\dots a_n,这些力量之间可能会有一些微妙的冲突,若aia_iaj(ij)a_j(i \neq j)进行合并,那么他们会按照下面的规则进行合并力量。

  • 首先我们会将aia_iaja_j转换为二进制形式进行比较
  • aia_i的最后一位1与aja_j的最后一位1处于相同位数上,那么力量总和为aiaja_i | a_j
  • aia_i的最后一位1与aja_j的最后一位1不处于相同位数上,那么力量总和为两者当中最低位1的数字。

例: 若数字5与7进行合并,那么他们会进行5 | 7 = 7的运算,若1232进行合并,那么他们会保留两者当中最低位的1,即为4

现在YuiliceYuilice会给出qq个搜索计划,每次计划都会提出一个区间[L,R][L,R],即为将aL,aL+1aRa_L,a_{L+1} \dots a_R,面对每个区间,你需要寻找区间当中所有数合并出来的最大值MXMX与最小值MiMi并且输出。

输入格式

输入第一行为两个正整数n,q(1n102,1q103)n,q(1 \leq n \leq 10^2,1 \leq q \leq 10^3) - 代表共有nn个徽章的力量值与qq次提问

随后一行,共输入nn个正整数ai(1ai2311)a_i(1 \leq a_i \leq 2^{31} - 1),代表每个徽章的力量值。

随后qq行,每行给出一对整数li,ril_i,r_i,代表当前要查阅的区间。

输出格式

针对于每一次询问,输出一个整数xx - 代表区间的力量总值

输入输出样例

  • 输入#1

    10 5
    4 12 20 36 68 2 18 38 128 90
    1 5
    1 6
    4 7
    5 9
    1 10

    输出#1

    124 124
    2 2
    18 2
    54 2
    126 2

说明/提示

【样例1部分解释】

  1. 范围[1,5][1,5]的数字4,12,20,36,68{4,12,20,36,68}二进制最小位1都为4,集合进行或运算的最大值与最小值为[1,5][1,5]集合的或运算。
  2. 范围[1,6][1,6]的数字4,12,20,36,68,2{4,12,20,36,68,2}二进制的最小位为2,因此最大值与最小值最终都会化为数字2。

【数据点分布】

  1. 1~5的数据范围为: 1ai210,1q,n101 \leq a_i \leq 2^{10},1 \leq q,n \leq 10
  2. 6~10的数据范围无限制
首页