AT_arc080_c [ARC080E] Young Maids
题目描述
设 $N$ 为一个正的偶数。
有一个排列 $p = (p_1, p_2, ..., p_N)$,其为 $1$ 到 $N$ 的一个排列。すぬけ君希望通过如下过程构造出一个 $1$ 到 $N$ 的排列 $q$:
首先,准备一个空序列 $q$。然后重复以下操作,直到 $p$ 变为空:
- 选择 $p$ 中相邻的两个元素,依次记为 $x$、$y$,将 $x$、$y$ 从 $p$ 中移除(此时 $p$ 长度减少 $2$),再将 $x$、$y$ 按顺序插入到 $q$ 的开头。
当 $p$ 为空时,$q$ 就是一个 $1$ 到 $N$ 的排列。
请你输出字典序最小的 $q$。
输入格式
输入从标准输入中以如下格式给出:
> $N\ p_1\ p_2\ ...\ p_N$
输出格式
请输出字典序最小的 $q$,各元素用空格分隔。
说明/提示
## 限制条件
- $N$ 是偶数。
- $2 \leq N \leq 2 \times 10^5$
- $p$ 是 $1$ 到 $N$ 的一个排列。
## 样例说明 1
按照如下顺序操作即可:
$p\ \ \ \ \ q$
$(3, 2, 4, 1)\ \ \ \ ()$
$\downarrow\ \ \downarrow$
$(3, 1)\ \ \ (2, 4)$
$\downarrow\ \ \downarrow$
$()\ \ \ (3, 1, 2, 4)$
## 样例说明 3
可以按照如下操作完成:
$p\ \ \ \ \ q$
$(4, 6, 3, 2, 8, 5, 7, 1)\ \ \ \ ()$
$\downarrow\ \ \downarrow$
$(4, 6, 3, 2, 7, 1)\ \ \ (8, 5)$
$\downarrow\ \ \downarrow$
$(3, 2, 7, 1)\ \ \ (4, 6, 8, 5)$
$\downarrow\ \ \downarrow$
$(3, 1)\ \ \ (2, 7, 4, 6, 8, 5)$
$\downarrow\ \ \downarrow$
$()\ \ \ (3, 1, 2, 7, 4, 6, 8, 5)$
由 ChatGPT 5 翻译