#abc262f. [abc262_f]Erase and Rotate

[abc262_f]Erase and Rotate

题目描述

给定一个包含 1,2,,N1,2,\ldots,N 的序列 P=(p1,p2,,pN)P=(p_1,p_2,\ldots,p_N),每个数字恰好出现一次。你可以最多按照任意顺序执行以下操作 00KK 次:

  • 选择 PP 中的一个数字并将其移除。
  • PP 的最后一个数字移到开头。

找到字典序最小的 PP,它是该操作的结果。

约束条件

  • 1N2×1051 \leq N \leq 2 \times 10^5
  • 0KN10 \leq K \leq N-1
  • 1piN1 \leq p_i \leq N
  • (p1,p2,,pN)(p_1,p_2,\ldots,p_N) 包含了 1,2,,N1,2,\ldots,N 恰好一次。
  • 输入中的所有值都是整数。

输入格式

输入以标准输入给出,格式如下:

NN KK
p1p_1 p2p_2 \ldots pNp_N

输出格式

以空格分隔的方式打印可能的最小字典序的 PP

示例输入 1

5 3
4 5 2 3 1

示例输出 1

1 2 3

以下操作使得 PP 变为 (1,2,3)(1,2,3)

  • 移除第一个数字,得到 (5,2,3,1)(5,2,3,1)
  • 将最后一个数字移到开头,得到 (1,5,2,3)(1,5,2,3)
  • 移除第二个数字,得到 (1,2,3)(1,2,3)

没有其他方式可以获得字典序小于 (1,2,3)(1,2,3)PP,因此这是答案。

示例输入 2

3 0
3 2 1

示例输出 2

3 2 1

你可能无法执行操作。

示例输入 3

15 10
12 10 7 2 8 11 9 1 6 14 3 15 13 5 4

示例输出 3

1 3 4 7 2 8 11 9