最后一个点 WA 了求调 QWQ(玄关)
查看原帖
最后一个点 WA 了求调 QWQ(玄关)
1368090
ny_123457楼主2025/1/4 12:05
#include<bits/stdc++.h>
using namespace std;
int n,m,a[200005],f[200005][25],ans,t,p;
int ffind(int x,int y){
	int t=log(y-x+1)/log(2);
	return max(f[y][t],f[x+(1<<t)-1][t]);
}
int main(){
	ios::sync_with_stdio(false);
	cin.tie(0),cout.tie(0);
	cin>>m>>p;
	char c;
	while(m--){
		cin>>c;
		int x;
		if(c=='A'){
			cin>>x;
			a[++n]=(x+t)%p;
			f[n][0]=a[n];
			for(int i=1;n-(1<<i)>=0;i++){
				f[n][i]=max(f[n][i-1],f[n-(1<<(i-1))][i-1]);
			}
		}
		else{
			int l;
			cin>>l;
			if(l==1){
				cout<<a[n]<<endl;
				t=a[n];
				continue;
			}
			ans=ffind(n-l+1,n);
			cout<<ans<<endl;
			t=ans;
		}
	}
	return 0;
}
2025/1/4 12:05
加载中...