RE求调!!!
查看原帖
RE求调!!!
360336
xmanaoa楼主2023/8/17 10:58
#include<bits/stdc++.h>
using namespace std;

int n,m;
const int MAXN=100001;
int ans;
int f[MAXN][22];
int a[MAXN];

int st(int len){
	for(int i=0;i<log2(len+1);i++){
	   for(int j=1;j<=len;j++){
	   	if(i==0){
	   		f[j][i]=a[j];
	   		continue;
	   		//cout<<a[j]<<endl;
		   }
	   	f[j][i]=max(f[j][i-1],f[i+(1<<j-1)][i-1]);
	   }
	}
	
}

int query(int l,int r){
	ans=max(f[l][(int)log2(r-l+1)],f[r-(int)log2(r-l+1)][(int)log2(r-l+1)]);
	cout<<ans<<endl;
}

struct node{
int l,r;
}cha[MAXN];
int main(){
	cin>>n>>m;
	for(int i=1;i<=n;i++){
		cin>>a[i];
	}
	st(n);
	
	
for(int i=1;i<=m;i++){
	cin>>cha[i].l>>cha[i].r;
}
for(int i=1;i<=m;i++){
	query(cha[i].l,cha[i].r);
}
	return 0;
}


2023/8/17 10:58
加载中...