能不改变思路吗
#include <iostream>
#include <stack>
using namespace std;
const int M=2e+5+5;
int m,l,cnt,d,maxx[M],ans[M],t,num,w;
long long x;
char a;
int main(){
stack<int>s;
cin>>m>>d;
for(int i=1;i<=m;i++){
cin>>a;
if(a=='Q'){
cin>>l;
t=ans[++cnt]=maxx[s.size()-l+1];
}
else{
cin>>x;
num=(x+t)%d;
s.push(w);
int z=s.size();
maxx[z]=num;
for(int j=z;j>=1;j--){
maxx[j]=max(maxx[j],maxx[z]);
}
}
}
for(int i=1;i<=cnt;i++){
cout<<ans[i]<<'\n';
}
return 0;
}