#7301. 环形赛道的最高温度

环形赛道的最高温度

题目背景

F1 赛车的赛道是一个巨大的圆环,分为 nn 个等长的路段,依次编号为 1n1 \sim n。每个路段布设了温度传感器,实时记录该路段的赛道温度(单位为摄氏度)。由于天气变化,部分路段温度可能是零下的。

赛事工程师需要根据车手即将驶过的路径查询温度信息:从路段 xx 出发,沿顺时针方向一直行驶到路段 yy 所经过的路段中,出现的最高温度是多少。这样的查询会有很多次,请你帮工程师找出所有查询结果中温度最高的那一个,以便判断是否需要更换轮胎。

题目描述

nn 个整数排成一个圆圈,位置编号为 11nn,每个整数的范围在 100-100100100 之间,表示对应路段的温度。

现在有 mm 次询问,每次询问给出两个整数 x,yx, y0<x,yn0 < x, y \le n),请你计算从位置 xx 开始,沿顺时针方向到位置 yy 所经过的所有整数中的 最大值。具体规则如下:

  • 如果 xyx \le y,表示从 xxyy 的连续段(包含两端);
  • 如果 x>yx > y,表示从 xx 开始沿顺时针到 nn,再从 11yy(即跨越圆圈首尾的区间)。

请你求出这 mm 个计算结果中的最大值。

输入格式

第一行包含两个整数 n,mn, m,分别表示路段的个数和询问的次数。

第二行包含 nn 个整数,表示圆圈上从位置 11 到位置 nn 的温度值,整数之间用空格隔开。

接下来 mm 行,每行包含两个整数 x,yx, y,表示一次询问。

输出格式

一行,一个整数,表示所有询问结果中的最大值。

样例

5 3
3 -2 4 6 9
1 5
1 4
3 1
9

样例解释

  • 第一次询问:x=1y=5x=1 \le y=5,路段为 123451 \to 2 \to 3 \to 4 \to 5,温度依次为 3,2,4,6,93, -2, 4, 6, 9,最大值为 99
  • 第二次询问:x=1y=4x=1 \le y=4,路段为 12341 \to 2 \to 3 \to 4,温度依次为 3,2,4,63, -2, 4, 6,最大值为 66
  • 第三次询问:x=3>y=1x=3 > y=1,顺时针方向为路段 34513 \to 4 \to 5 \to 1,温度依次为 4,6,9,34, 6, 9, 3,最大值为 99
    所有结果中的最大值为 99

数据范围

  • 2n1000002 \le n \le 100000
  • 1m1000001 \le m \le 100000
  • 数组元素的范围:100ai100-100 \le a_i \le 100
  • 1x,yn1 \le x, y \le n