#9822. 平衡队列

    ID: 9822 传统题 1000ms 256MiB 尝试: 0 已通过: 0 难度: (无) 上传者: 标签>树状数组区间最值RMQ数据结构对比

平衡队列

题目描述

每天,农夫 John\text{John}nn 头牛总是按同一序列排队。

有一天, John\text{John} 决定让一些牛们玩一场飞盘比赛。他准备找一群在队列中位置连续的牛来进行比赛。但是为了避免水平悬殊,牛的身高不应该相差太大。 John\text{John} 准备了 qq 个可能的牛的选择和所有牛的身高 hi(1in)h_i(1\le i\le n)。他想知道每一组里面最高和最低的牛的身高差。

输入格式

第一行两个数 n,qn,q

接下来 nn 行,每行一个数 hih_i

再接下来 qq 行,每行两个整数 aabb,表示询问第 aa 头牛到第 bb 头牛里的最高和最低的牛的身高差。

输出格式

输出共 qq 行,对于每一组询问,输出每一组中最高和最低的牛的身高差。

6 3
1
7
3
4
2
5
1 5
4 6
2 2
6
3
0

样例分析

66 头牛的身高为 {1,7,3,4,2,5}\{1,7,3,4,2,5\}

第一次询问,得到区间 [1,5][1,5] 的最高身高为 77,最低身高为 11,身高差为 66

第二次询问,得到区间 [4,6][4,6] 的最高身高为 55,最低身高为 22,身高差为 33

第三次询问,得到区间 [2,2][2,2] 的最高身高为 77,最低身高为 77,身高差为 00

数据范围与提示

对于 100%100\% 的数据:1n5×1041\le n\le 5\times 10^41q1.8×1051\le q\le 1.8\times 10^51hi1061\le h_i\le 10^6