无奖竞答:ST表

还是TLE30pts

#include<bits/stdc++.h>
using namespace std;
int n,m;
int a[100005];
int f[100005][20];
int lg[100005];
int query(int l,int r){
	int g=lg[r-l+1];
	return max(f[l][g],f[r-(1<<g)+1][g]);
}

int main(){
	cin>>n>>m;
	for(int i=1;i<=n;i++){
		cin>>a[i];
		f[i][0]=a[i];
	}
	lg[1]=0;
	for(int i=2;i<=n;i++){
		lg[i]=lg[i>>1]+1;
	}
	int lgn=lg[n];
	for(int j=1;j<=lgn;j++){
		for(int i=1;i<=n-(1<<j)+1;i++){
			f[i][j]=max(f[i][j-1],f[i+(1<<(j-1))][j-1]);
		}
	}
	while(m--){
		int l,r;
		cin>>l>>r;
		cout<<query(l,r)<<endl;
	}
	return 0;
}
/*

*/

TLE

我说了不要用函数

这题要scanf

写在while循环里

和你几乎一样,我最慢才300多ms啊?

是的,读入也可以优化一下,不要用 cin 和 cout

在代码前面加

	ios::sync_with_stdio(0);
	cin.tie(0),cout.tie(0);

试试

我震惊,了

cin 50分scanf40分……

此贴结
死因:没用scanf

@稻叶昙 关帖!!顺便帮我把上面那个帖子删了(不是举报QwQ)

被举报会怎样?

简单来说,信任级别3为活跃用户,要是在100天内被举报5次及以上就拿不到了

自己举报自己呢?

也会加(我在7月份好多次被举报,等到想拿活跃用户的时候就死了)