#12002. RMQ

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

题目描述

RMQ 问题,全称为 Range Maximum/Minimum Query,表示区间最大/最小值查询。

顾名思义,本题要求解决 RMQ 问题,具体来说,要求解决区间静态最大值查询问题。

给出一个长为 的整数序列 和 个询问,每个询问给出一个区间 ,对于每个询问,你需要给出 之中的最大值。

输入格式

第一行两个正整数 ,其中 意义此后将给出。

第二行 个正整数,表示序列中的数。

第三行一个整数 。

接下来 行,第 行两个整数 。

以上未特殊说明变量的含义均如题所述。

输出格式

输出 行,第 行表示第 个询问的答案 的值。

样例

输入

5 1
2 4 9 10 4
3
2 3
1 4
1 2

输出

9
10
4

数据范围与提示

对于前 的数据,,这个部分分考察暴力。

对于前 的数据,,这个部分分考察倍增。

对于另外 的数据,,这个部分分考察前缀和。

对于另外 的数据,,这个部分分可能考察二分使用。

对于 的数据,(除特殊数据)。

你可能需要组合一种以上的算法来通过本题。