#1136. (15届蓝桥杯STEMA10月C++)区间最小值

(15届蓝桥杯STEMA10月C++)区间最小值

描述

给定n个整数,从1到n顺序编号,接下来进行m次查询,第i次查询第aia_i个数到第bib_i个数(包含aia_ibib_i)之间的最小值并输出。

例如:

n = 8, 8个正整数依次为:40, 20, 10, 30, 70, 50, 80, 60

m = 3,3次查询分别为:

a_1 = 3, b_1 = 7;

a_2 = 1, b_2 = 2;

a_3 = 5, b_3 = 8;

第一次查询:第3个数(10)到第7个数(80)之间最小值是10;

第二次查询:第1个数(40)到第2个数(20)之间最小值是20;

第三次查询:第5个数(70)到第8个数(60)之间最小值是50;

故输出 10

20

50

输入输出格式

输入

第一行输入一个整数n ( 1n1051≤n≤10^5 ),表示整数的数量

第二行输入n个整数( 0整数1050≤整数≤10^5

第三行输入一个整数m ( 1m1051≤m≤10^5 ),表示查询次数

接下来m行,每行输入2个整数aia_ibib_i1aibin1≤a_i≤b_i≤n ),分别表示查询的起始位置和终止位置

输出

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

样例输入输出

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

统计

相关

在下列比赛中:

[202401] 202403STEMA备赛模拟考C++

在以下作业中:

CPP寒假作业