为何MLE
查看原帖
为何MLE
1260978
xycsc23楼主2024/10/30 17:23

rt, 提交记录, 代码如下

#include<bits/stdc++.h>
using namespace std;
#define int long long
#define pr pair<int,int>
#define fi first
#define se second
#define mr(x, y) make_pair((x), (y))
int read(){
	int s=0, f=1;
	char c=getchar();
	while((c<'0' || c>'9') && c!='-')c=getchar();
	if(c=='-') c=getchar(), f=-1;
	while(c>='0' && c<='9')s=s*10+c-'0', c=getchar();
	return s;
}
int pu(int x){
	if(x<0){
		putchar('-');
		pu(-x);
	}
	else if(x<10)
		 putchar(x+'0');
	else{
		 pu(x/10);
		 putchar(x%10+'0');
	}
}
int st[100005][18];
signed main(){
	int n=read(), m=read();
	for(int i=1;i<=n;i++)
		st[i][0]=read();
	for(int j=1;j<=log2(n);j++)
		for(int i=1;i+(1<<j)<=n+1;i++)
			st[i][j]=max(st[i][j-1], st[i+(1<<j-1)][j-1]);
	while(m--){
		int l=read(), r=read();
		int k=log2(r-l+1);
		pu(max(st[l][k], st[r-(1<<k)+1][k]));
		putchar('\n');
	}
	return 0;
}
2024/10/30 17:23
加载中...