#HX1259C. 小组队列

提交0 通过0
通过率0%
时间限制1000ms
内存限制128MiB
    ID: 10118 传统题 1000ms 128MiB 尝试: 0 已通过: 0 难度: 普及 上传者: 标签>编程题C++CSPCSP复赛CSP复赛专项练习暑假CSP复赛集训暑假集训1259-栈 队列 map

题目描述

题目描述

有 m 个小组, n 个元素,每个元素属于且仅属于一个小组。

支持以下操作:

  • push x:使元素 x 进队,如果前边有 x 所属小组的元素,x 会排到自己小组最后一个元素的下一个位置,否则 x 排到整个队列最后的位置。
  • pop:出队,弹出队头并输出出队元素,出队的方式和普通队列相同,即排在前边的元素先出队

输入格式

第一行有两个正整数 n, m,分别表示元素个数和小组个数,元素和小组均从 0 开始编号。

接下来一行 n 个非负整数 AiA_i,表示元素 i 所在的小组。

接下来一行一个正整数 T ,表示操作数。

接下来 T 行,每行为一个操作。

输出格式

对于每个出队操作输出一行,为出队的元素。

样例输入

4 2
0 0 1 1
6
push 2
push 0
push 3
pop
pop
pop

样例输出

2
3
0

提示

对于 100% 的数据,1n1000001\le n\le 1000001m3001\le m\le 300T100000T\le 100000,输入保证操作合法。

1 1
0
2
push 0
pop
0
3 2
0 1 0
2
push 2
pop
2
4 2
0 0 1 1
6
push 2
push 0
push 3
pop
pop
pop
2
3
0