题意:给了一个数列,有多个询问,每个询问求某个区间内的最大值
数列长度 1000,询问个数 1000,静态,并不需要RMQ这些,直接暴力 n2 查找每个询问区间取最大值就行了。
1 #include<stdio.h>
2 #include<string.h>
3 #include<algorithm>
4 #include<math.h>
5 using namespace std;
6 typedef long long ll;
7 const int maxn=1005;
8
9 int max(int a,int b){return a>b?a:b;}
10 int min(int a,int b){return a<b?a:b;}
11
12 int a[maxn];
13
14 int main(){
15 int T;
16 scanf("%d",&T);
17 while(T--){
18 int n;
19 scanf("%d",&n);
20 for(int i=1;i<=n;++i){
21 scanf("%d",&a[i]);
22 }
23 int q;
24 scanf("%d",&q);
25 while(q--){
26 int aa,b;
27 scanf("%d%d",&aa,&b);
28 int ans=-1;
29 for(int i=aa;i<=b;++i)if(a[i]>ans)ans=a[i];
30 printf("%d\n",ans);
31 }
32 }
33 return 0;
34 }