后续
```cpp
#include<bits/stdc++.h>
using namespace std;
long long m,q;
long long l;
long long a[200005][35];
long long n;
long long jg;
void add(){
long long s=log2(n);
//for(int i=1;(1<<i)<=n;i++){
// a[n][i]=max(a[n][i-1],a[i+1<<(s-1)][s-1]);
//}
for(long long i=1;i<=s;i++){//退化为1维
long long t1=n-(1<<i)+1;
a[t1][i]=max(a[t1][i-1],a[t1+(1<<(i-1))][i-1]);//《关于在我这里s=i这回事》
}//这里有问题 很奇怪,本地都能过WA
}
long long qu(long long l){
long long j=log2(n-l+1);
return max(a[l][j],a[n-(1<<j)+1][j]);//好像也有问题???
}
int main(){
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
cin>>m>>q;
char a1;
while(m--){
cin>>a1>>l;
if(a1=='Q'){
jg=qu(n-l+1);
cout<<jg<<endl;
}else if(a1=='A'){
a[++n][0]=(l+jg)%q;
add();
}
}
//for(long long i=1;i<=n;i++) for(long long j=0;j<=20;j++) cout<<a[i][j]<<endl;
return 0;
}
```
AC
by Addicted_Game @ 2023-11-05 15:35:42