#4137. 相邻交换(Adjacent Swaps)

相邻交换(Adjacent Swaps)

题目描述

NN 个球从左到右排成一行。初始时,从左往右第 i(1iN)i (1 ≤ i ≤ N) 个球上写着整数 ii

小高执行了 QQ 次操作。第 i(1iQ)i (1 ≤ i ≤ Q)次操作如下:

将写有整数 xix_i 的球与其右侧相邻的球交换。如果写有整数 xix_i 的球原本在最右端,则改为与左侧相邻的球交换。

设操作后从左往右第i(1iN)i (1 ≤ i ≤ N)个球上写的整数为 aia_i。请求出 a1,...,aNa_1,...,a_N

输入格式

输入按以下格式从标准输入给出:
N QN \ Q
x1x_1

xQx_Q

输出格式

输出 a1,...,aNa_1,...,a_N,用空格分隔。

样例

5 5
1
2
3
4
5
1 2 3 5 4
7 7
7
7
7
7
7
7
1 2 3 4 5 7 6
10 6
1
5
2
9
6
6
1 2 3 4 5 7 6 8 10 9

样例1解释

操作过程如下:

  • 交换写有 11 的球与其右侧相邻的球。现在球上的整数从左到右为 2,1,3,4,52,1,3,4,5
  • 交换写有 22 的球与其右侧相邻的球。现在球上的整数从左到右为 1,2,3,4,51,2,3,4,5
  • 交换写有 33 的球与其右侧相邻的球。现在球上的整数从左到右为 1,2,4,3,51,2,4,3,5
  • 交换写有 44 的球与其右侧相邻的球。现在球上的整数从左到右为 1,2,3,4,51,2,3,4,5
  • 交换写有 55 的球与其左侧相邻的球,因为它在最右端。现在球上的整数从左到右为 1,2,3,5,41,2,3,5,4

数据范围

  • 2N2×1052 ≤ N ≤ 2 × 10^5
  • 1Q2×1051 ≤ Q ≤ 2 × 10^5
  • 1xiN1 ≤ x_i ≤ N
  • 所有输入均为整数

来源

  • AtCoder ABC250C