问题 3501 --线段树rmq

3501: 线段树rmq

时间限制: 1 Sec  内存限制: 256 MB
提交: 18  解决: 10
[提交][状态][讨论版][命题人:]

题目描述

给定一个长度为n的整数序列,有以下两种操作

1、给定一个区间,求这个区间内的最大值

2、给定一个区间,求这个区间内的最小值

输入

第一行包含两个整数n,m,分别表示该数列数字的个数和操作的总个数。

第二行包含n个用空格分隔的整数,其中第i个数字表示数列第i项的初始值ai。

接下来m行每行包含2个整数,表示一个操作,具体如下:

1、1 x y:输出区间[x,y]内的最小值

2、2 x y:输出区间[x,y]内的最大值。

输出

一共m行,每行一个整数,表示查询区间的最大值或最小值

样例输入

5 3
1 2 3 4 5
1 1 3
2 1 3
1 1 5

样例输出

3
1
5

提示


对于30%的数据:1<=n,m<=100



对于60%的数据:1<=n,m<=1000



对于100%的数据:1<=n,m<=10^5 1<=ai<=10^9

来源

[提交][状态]