AT_agc001_f [AGC001F] Wide Swap
题目描述
给定一个长度为 $N$ 的数列 $P_1\ldots P_N$,该数列是 $1\sim N$ 的一个排列。
你可以对该数列进行如下操作任意次:
- 选择整数 $i, j$,满足 $1 \leq i < j \leq N$。
- 交换 $P_i$ 和 $P_j$ 的值。
- 但必须满足 $j - i \geq K$ 且 $|P_i - P_j| = 1$。
请你求出通过上述操作能够得到的字典序最小的数列。
输入格式
输入以如下格式从标准输入读入:
> $N$ $K$ $P_1$ $P_2$ $...$ $P_N$
输出格式
输出通过题目中操作能够得到的字典序最小的数列。
说明/提示
## 限制条件
- $2 \leq N \leq 500,\!000$
- $1 \leq K \leq N-1$
- $P$ 是 $1, 2, ..., N$ 的一个排列。
## 样例解释 1
可以按如下步骤进行操作:
- $4\ 2\ 3\ 1$
- $4\ 1\ 3\ 2$
- $3\ 1\ 4\ 2$
- $2\ 1\ 4\ 3$
由 ChatGPT 4.1 翻译