poj2892

来源:互联网 发布:刘润5分钟商学院 知乎 编辑:程序博客网 时间:2024/06/06 01:50
#include<iostream>#include<stdio.h>#include<string.h>#include<set>#include<stack>using namespace std;int main(){    int n,m,i,l,r;    char a[10];    stack<int>s;    set<int>v;    set<int>::iterator it;    while(scanf("%d%d",&n,&m)!=EOF)    {        while(!s.empty())s.pop();        v.clear();        v.insert(0);        v.insert(n+1);        while(m--)        {            scanf("%s",a);            if(a[0]=='D')            {                scanf("%d",&i);                s.push(i);                v.insert(i);            }            else              if(a[0]=='Q')              {                  scanf("%d",&i);                  it=v.upper_bound(i);                  r=*it;                  l=*(--it);                  if(l==i)                    printf("0\n");                  else                    printf("%d\n",r-l-1);              }              else              {                  v.erase(s.top());                  s.pop();              }        }    }}

原创粉丝点击