您的位置:首页 > 其它

Problem 1894 志愿者选拔

2014-02-13 10:13 148 查看

Problem 1894 志愿者选拔


#include<stdio.h>
#include<string.h>
char name[7],s[7];
struct sa
{
int id,rp;
}p[1000007];
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
memset(p,0,sizeof(p));
scanf("%s",s);
int head=0,tail=-1,num=0,leave=0;
while(true)
{
scanf("%s",s);
if(s[0]=='E')break;
else if(s[0]=='C')
{
sa tmp;
tmp.id=++num;
scanf("%s%d",name,&tmp.rp);
while(head<=tail&&p[tail].rp<=tmp.rp)
tail--;
p[++tail]=tmp;
}
else if(s[0]=='Q')
{
while(head<=tail&&p[head].id<=leave)
head++;
if(head>tail)printf("-1\n");
else printf("%d\n",p[head].rp);
}
else if(s[0]=='G')
{
leave++;
}
}
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: