#ABC474C. 删除并追加 / Remove and Append

删除并追加 / Remove and Append

题目描述

给定一个 (1,2,,N)(1,2,\dots,N) 的排列 P=(P1,P2,,PN)P=(P_1,P_2,\dots,P_N)。 按 q=1,2,,Qq=1,2,\dots,Q 的顺序依次执行以下操作。

  • 将值为 aqa_q 的元素从 PP 中删除,并追加到 PP 的末尾。

求执行完 QQ 次操作后 PP 中每个元素的值。

输入格式

输入按以下格式从标准输入读入:

  • NN QQ
  • P1P_1 P2P_2 \dots PNP_N
  • a1a_1
  • a2a_2
  • \vdots
  • aQa_Q

输出格式

输出执行完 QQ 次操作后的 P1,P2,,PNP_1,P_2,\dots,P_N,按此顺序以空格分隔,输出为一行。

数据范围

  • 1N2×1051 \leq N \leq 2 \times 10^5
  • 1Q2×1051 \leq Q \leq 2 \times 10^5
  • (P1,P2,,PN)(P_1,P_2,\dots,P_N)(1,2,,N)(1,2,\dots,N) 的一个排列。
  • 1aqN1 \leq a_q \leq N
  • 所有输入值均为整数。
4 2
2 4 3 1
3
2
4 1 3 2

初始时 P=(2,4,3,1)P=(2,4,3,1)。 第一次操作后,P=(2,4,1,3)P=(2,4,1,3)。 第二次操作后,P=(4,1,3,2)P=(4,1,3,2)

3 3
1 2 3
1
1
1
2 3 1
2 5
2 1
1
1
2
2
1
2 1

子任务设置

  • 子任务 1(30 分):N,Q2000N,Q \le 2000
  • 子任务 2(70 分):无特殊限制。