经典优先队列的看病问题,但是这题并没有用队列,用的是数组
#include<bits/stdc++.h>
using namespace std;
struct pointer_safety
{
int x,y,z;
}p[10000];//结构组
int main()
{
int m,i,j,k,h,r,t;
char a[100];
while(scanf("%d",&m)!=EOF)
{
t=1;
for(i=1;i<=m;i++)
{
scanf("%s",a);
if(strcmp(a,"IN")==0)//比较函数
{
scanf("%d%d",&p[t].x,&p[t].y);
p[t].z=t;
t++;//进入次数
}
else
{
scanf("%d",&k);
h=0;
r=0;
for(j=1;j<t;j++)
{
if(p[j].x==k&&p[j].y>h)
{
h=p[j].y;
r=j;
}
}
p[r].y=0;
if(h!=0)
printf("%d\n",p[r].z);
else
printf("EMPTY\n");
}
}
}
return 0;
}