#abc474c. Remove and Append
Remove and Append
题目描述
给定 的一个排列 。
按 的顺序执行下面的操作:
- 把 中值为 的那个元素删除,并把它追加到 的末尾。
请求出执行完 次操作后 的各个元素的值。
输入格式
N Q
P_1 P_2 ... P_N
a_1
a_2
...
a_Q
输出格式
在一行中输出执行完 次操作后的 ,相邻两数之间用一个空格隔开。
输入示例 1
4 2
2 4 3 1
3
2
输出示例 1
4 1 3 2
示例 1 说明
初始时 。
- 第 次操作把值 移到末尾,得到 ;
- 第 次操作把值 移到末尾,得到 。
输入示例 2
3 3
1 2 3
1
1
1
输出示例 2
2 3 1
示例 2 说明
同一个值可以被反复操作。这里连续三次都移动值 :。第 、 次操作时 已经在末尾,移动之后位置不变。
这说明只有每个值的最后一次操作才真正决定它的最终位置。
输入示例 3
2 5
2 1
1
1
2
2
1
输出示例 3
2 1
示例 3 说明
只有 ,但操作了 次,两个值交替被移到末尾。最终 的最后一次操作在第 次、 的在第 次,所以 排在 前面,答案是 2 1——恰好与初始排列相同。
这组数据用来提醒: 可以远大于 ,被操作过的值可能全部都是;此时初始排列的信息会被完全覆盖。
约束条件
- 是 的排列
- 所有输入值均为整数