FZU 1894(单调队列第一发)

题意:参加志愿者选拔的同学们排队接受面试官们的面试。参加面试的同学们按照先来先面试并且先结束的原则接受面试官们的考查。

输入含义

1C NAME RP_VALUE名字为NAME的人品值为RP_VALUE的同学加入面试队伍。(名字长度不大于5,0 <= RP_VALUE <= 1,000,000,000)

2G排在面试队伍最前面的同学面试结束离开考场。

3Q主面试官John想知道当前正在接受面试的队伍中人品最高的值是多少。

#include<stdio.h>#include<string.h>#define maxn 1000000struct node{int x,val;}q[maxn];int main(){int t;char name[6],na[10],start[12];int rp;scanf("%d",&t);while(t–){int i,j,k,head=0,tail=-1,last=0,K=1;scanf("%s",start);while(scanf("%s",name)!=EOF){if(strcmp(name,"END")==0) break;if(name[0]=='C'){scanf("%s%d",na,&rp);while(tail>=head&&q[tail].val<=rp) tail–;node a;a.x = K++;a.val = rp;q[++tail]=a;}else if(name[0]=='Q'){while(tail>=head&&q[head].x<=last) head++;if(tail>=head) printf("%d\n",q[head].val);else printf("-1\n");}else last++;}}return 0;}

版权声明:都是兄弟,,请随意转载,请注明兄弟是谁

鸟的翅膀在空气里振动,那是一种喧嚣而凛裂的,

FZU 1894(单调队列第一发)

相关文章:

你感兴趣的文章:

标签云: