题意:给了一个数列,有多个询问,每个询问求某个区间内的最大值

数列长度 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 }
View Code