水于省选前夕,rp++。
description:
操作一个有依赖的队列。
solution:
直接模拟即可。
建两种队列,一个是题目给定的队列,另一个是分组。
code:
#include<cstdio>
#include<queue>
using namespace std;
int a[1000005];
queue<int>q;
queue<int>qu[305];
int main()
{
int n,m;
scanf("%d%d",&n,&m);
for(int i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
int T;
scanf("%d",&T);
char s[10];
while(T--)
{
int x;
scanf("%s",s);
if(s[1]=='u')
{
scanf("%d",&x);
if(qu[a[x]].size()==0)
{
q.push(a[x]);
}
qu[a[x]].push(x);
}
else
{
int tmp=q.front();
printf("%d\n",qu[tmp].front());
qu[tmp].pop();
if(qu[tmp].empty())q.pop();
}
}
return 0;
}