MLE/RE求助
查看原帖
MLE/RE求助
1059675
fyc_LC楼主2024/10/13 23:19

st二维开到350会爆但300又不够? 所以是写法错了 求助

#include<bits/stdc++.h>
using namespace std;
int st[100060][300];
int main(){
	int n,m;
	cin>>n>>m;
	int tmp,l,r;
	for(int i=1;i<=n;i++){
		scanf("%d",&tmp);
		st[i][0]=tmp;
	}
	int j=0;
	for(int k=1;j<=n;k++){
		for(int i=1;i<=n;i++){
			j=pow(2,k-1);
			st[i][k]=max(st[i][k-1],st[i+j][k-1]);
		}
	}
	int s;
	for(int i=1;i<=m;i++){
		scanf("%d %d",&l,&r);
		s=log2(r-l+1);
		r=r-pow(2,s)+1;
		cout<<max(st[l][s],st[r][s])<<'\n';
	} 
	return 0;
} 
2024/10/13 23:19
加载中...