样例对了,WA
#include<bits/stdc++.h>
using namespace std;
const int N=2*1e5+10;
long long lg[N],f[N][20];
long long len,t;
long long m,d;
int main(){
scanf("%lld%lld",&m,&d);
for(int i=2;i<=m;i++)
{
lg[i]=lg[(i>>1)]+1;
}
while(m--)
{
char c;
int a;
cin>>c>>a;
if(c=='Q')
{
int L=len-a+1,R=len;
int x=lg[R-L+1];
t=max(f[L][x],f[R-(1<<x)+1][x]);
printf("%lld\n",t);
}
else
{
f[++len][0]=(t+a)%d;
for(int j=1;j<=lg[len];j++)
{
int L=len-(1<<j)+1;
f[L][j]=max(f[L][j-1],f[L+(1<<(j-1))-1][j-1]);
}
}
}
return 0;
}