[ARC080E] Young Maids

题意翻译

给定正偶数 $N$。 给定 $N$ 元排列 $p = (p_1, p_2, ..., p_N)$. Snuke 打算根据下述步骤构造一个 $N$ 元排列 $q$。 首先,令 $q$ 为空。接下来,执行下述操作直到 $p$ 为空。 - 选择 $p$ 中两个相邻元素 ,按原顺序设它们是 $x$ 和 $y$. 从 $p$ 中移除 $x$ 和 $y$,将它们按顺序接在 $q$ 的前面。 试求可能的形成的 $q$ 中,字典序最小的排列。

题目描述

[problemUrl]: https://atcoder.jp/contests/arc080/tasks/arc080_c $ N $ を正の偶数とします。 $ (1,\ 2,\ ...,\ N) $ の順列 $ p\ =\ (p_1,\ p_2,\ ...,\ p_N) $ があります。 すぬけ君は、次の手続きによって $ (1,\ 2,\ ...,\ N) $ の順列 $ q $ を作ろうとしています。 まず、空の数列 $ q $ を用意します。 $ p $ が空になるまで、次の操作を繰り返します。 - $ p $ の隣り合う $ 2 $ つの要素を選び、順に $ x $, $ y $ とする。 $ x $, $ y $ を $ p $ から取り除き (このとき、$ p $ は $ 2 $ だけ短くなる)、$ x $, $ y $ をこの順のまま $ q $ の先頭へ追加する。 $ p $ が空になったとき、$ q $ は $ (1,\ 2,\ ...,\ N) $ の順列になっています。 辞書順で最小の $ q $ を求めてください。

输入输出格式

输入格式


入力は以下の形式で標準入力から与えられる。 > $ N $ $ p_1 $ $ p_2 $ $ ... $ $ p_N $

输出格式


辞書順で最小の $ q $ を空白区切りで出力せよ。

输入输出样例

输入样例 #1

4
3 2 4 1

输出样例 #1

3 1 2 4

输入样例 #2

2
1 2

输出样例 #2

1 2

输入样例 #3

8
4 6 3 2 8 5 7 1

输出样例 #3

3 1 2 7 4 6 8 5

说明

### 制約 - $ N $ は偶数である。 - $ 2\ <\ =\ N\ <\ =\ 2\ ×\ 10^5 $ - $ p $ は $ (1,\ 2,\ ...,\ N) $ の順列である。 ### Sample Explanation 1 次の順に操作を行えばよいです。 $ p $ $ q $ $ (3,\ 2,\ 4,\ 1) $ $ () $ ↓ ↓ $ (3,\ 1) $ $ (2,\ 4) $ ↓ ↓ $ () $ $ (3,\ 1,\ 2,\ 4) $ ### Sample Explanation 3 次の順に操作を行えばよいです。 $ p $ $ q $ $ (4,\ 6,\ 3,\ 2,\ 8,\ 5,\ 7,\ 1) $ $ () $ ↓ ↓ $ (4,\ 6,\ 3,\ 2,\ 7,\ 1) $ $ (8,\ 5) $ ↓ ↓ $ (3,\ 2,\ 7,\ 1) $ $ (4,\ 6,\ 8,\ 5) $ ↓ ↓ $ (3,\ 1) $ $ (2,\ 7,\ 4,\ 6,\ 8,\ 5) $ ↓ ↓ $ () $ $ (3,\ 1,\ 2,\ 7,\ 4,\ 6,\ 8,\ 5) $