#LQC20231006. 区间最小值

区间最小值

编程实现

给定 nn 个整数,从 11nn 顺序编号,接下来进行 mm 次查询,第 ii 次查询第 aia_i 个数到第 bib_i 个数(包含 aabb)之间的最小值并输出。 例如:n=8n=888 个正整数依次为:4040 2020 1010 3030 7070 5050 8080 6060 m=3m = 333 次查询分别为: a1=3b1=7a_1=3,b_1=7 a2=1b2=2a_2=1,b_2=2 a3=5b3=8a_3=5,b_3=8 第一次查询:第 33 个数 (10)(10) 到第 77 个数 (80)(80) 之间最小值是 1010; 第二次查询:第 11 个数 (40)(40) 到第 22 个数 (20)(20) 之间最小值是 2020; 第三次查询:第 55 个数 (70)(70) 到第 88 个数 (60)(60) 之间最小值是 5050; 故输出: 1010 2020 5050

输入描述

第一行输入两个整数 nnm(1nm100000)m(1≤n,m≤100000),分别表示整数的数量及查询次数; 第二行输入 nn 个整数(00≤ 整数105 ≤10^5) 接下来 mm 行,每行输入 22 个整数 aia_ibi(1aibi100000)b_i(1≤a_i≤b_i≤100000),分别表示查询的起始位置和终止位置

输出描述

输出共 mm 行,每行输出一个整数,分别表示每次查询得到的第 aia_i 个数到第 bib_i 个数之间(包含 aia_ibib_i)的最小值并输出。

样例

输入样例 #1

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

输出样例 #1

10 
20 
50