题目描述
给定 n 个整数,从 1 到 n 顺序编号。接下来进行 m 次查询,第 i 次查询给出 ai,bi,请输出第 ai 个数到第 bi 个数(包含 ai 和 bi)之间的最小值。
例如,n=8,8 个正整数依次为:40,20,10,30,70,50,80,60。若 m=3,三次查询分别为:
- a1=3,b1=7;
- a2=1,b2=2;
- a3=5,b3=8。
则:
- 第一次查询,第 3 个数到第 7 个数之间的最小值是 10;
- 第二次查询,第 1 个数到第 2 个数之间的最小值是 20;
- 第三次查询,第 5 个数到第 8 个数之间的最小值是 50。
输入格式
第一行包含两个正整数 n,m,分别表示整数的数量及查询次数。
第二行包含 n 个整数,表示给定的序列。
接下来 m 行,每行包含两个整数 ai,bi,表示一次查询的起始位置和终止位置。
输出格式
输出共 m 行,每行一个整数,表示对应查询区间 [ai,bi] 中的最小值。
8 3
40 20 10 30 70 50 80 60
3 7
1 2
5 8
10
20
50
数据范围与提示
- 1≤n,m≤105
- 序列中每个整数均满足 0≤x≤105
- 1≤ai≤bi≤n