#include <bits/stdc++.h>
using namespace std;
const int M = 1e6+5;
int a[M],n,N;
stack<int> sta;
void sovle(){
int ans = 0;
char c;
int y;
cin>>c;
if(c=='D'){
cin>>y;
a[y] = 0;
sta.push(y);
}
if(c=='Q'){
cin>>y;
if(a[y]!=0){
for(int i = y;i>=1;--i){
if(a[i]==0) break;
ans+=a[i];
}
for(int i = y+1;i<=n;++i){
if(a[i]==0) break;
ans+=a[i];
}
cout<<ans<<"\n";
}
else cout<<0<<"\n";
}
if(c=='R'){
int z = sta.top();
sta.pop();
a[z] = 1;
}
return ;
}
int main(){
cin>>n>>N;
for(int i=1;i<=n;++i) a[i] = 1;
while(N--) sovle();
return 0;
}
P1503鬼子进村
后面两点 TLE!!!
求大佬帮优化