#include <bits/stdc++.h>
#pragma GCC optimesize(1)
#pragma GCC optimesize(2)
#pragma GCC optimesize(3)
using namespace std;
int n,m;
char op;
int t;
int st[1000005];
int top=0;
// stack<int> st;
bool vis[1000005];
int main()
{
// ios::sync_with_stdio(false);
// cin.tie(0);
scanf("%d%d",&n,&m);
for (int i=1;i<=m;i++)
{
// cin >> op;
scanf("\n%c ",&op);
// scanf("%c",&op);
if (op=='D')
{
// cin >> t;
scanf("%d",&t);
st[++top]=t;
vis[t]=1;
}
if (op=='Q')
{
// cin >> t;
scanf("%d",&t);
if (vis[t]==1)
{
printf("0\n");
continue;
}
else if(top==0)
{
// cout << n << endl;
printf("%d\n",n);
continue;
}
else{
int sum=0;
int j=t;
while (vis[j]==0&&j>=1)
{
sum++,j--;
}
while (vis[t]==0&&t<=n)
{
sum++;
t++;
}
// cout << sum-1 << endl;
printf("%d\n",sum-1);
}
}
if (op=='R')
{
vis[st[top]]=0;
// st.pop();
top--;
}
}
return 0;
}
本蒟蒻不会高级数据结构只会基础(所以用暴力写的)然后代码一直超时,希望有大佬帮蒟蒻改一改,谢谢。