题意:给了一个数列,有多个询问,每个询问求某个区间内的最大值
数列长度 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 }
时间: 2024-10-12 00:27:30