#B8193. 区间最小值

区间最小值

题目描述

给定 nn 个整数,从 11nn 顺序编号。接下来进行 mm 次查询,第 ii 次查询给出 ai,bia_i,b_i,请输出第 aia_i 个数到第 bib_i 个数(包含 aia_ibib_i)之间的最小值。

例如,n=8n=888 个正整数依次为:40,20,10,30,70,50,80,6040,20,10,30,70,50,80,60。若 m=3m=3,三次查询分别为:

  • a1=3,b1=7a_1=3,b_1=7
  • a2=1,b2=2a_2=1,b_2=2
  • a3=5,b3=8a_3=5,b_3=8

则:

  • 第一次查询,第 33 个数到第 77 个数之间的最小值是 1010
  • 第二次查询,第 11 个数到第 22 个数之间的最小值是 2020
  • 第三次查询,第 55 个数到第 88 个数之间的最小值是 5050

输入格式

第一行包含两个正整数 n,mn,m,分别表示整数的数量及查询次数。

第二行包含 nn 个整数,表示给定的序列。

接下来 mm 行,每行包含两个整数 ai,bia_i,b_i,表示一次查询的起始位置和终止位置。

输出格式

输出共 mm 行,每行一个整数,表示对应查询区间 [ai,bi][a_i,b_i] 中的最小值。

8 3
40 20 10 30 70 50 80 60
3 7
1 2
5 8
10
20
50

数据范围与提示

  • 1n,m1051 \le n,m \le 10^5
  • 序列中每个整数均满足 0x1050 \le x \le 10^5
  • 1aibin1 \le a_i \le b_i \le n