200802: [AtCoder]ARC080 E - Young Maids

Memory Limit:256 MB Time Limit:2 S
Judge Style:Text Compare Creator:
Submit:0 Solved:0

Description

Score : $800$ points

Problem Statement

Let $N$ be a positive even number.

We have a permutation of $(1, 2, ..., N)$, $p = (p_1, p_2, ..., p_N)$. Snuke is constructing another permutation of $(1, 2, ..., N)$, $q$, following the procedure below.

First, let $q$ be an empty sequence. Then, perform the following operation until $p$ becomes empty:

  • Select two adjacent elements in $p$, and call them $x$ and $y$ in order. Remove $x$ and $y$ from $p$ (reducing the length of $p$ by $2$), and insert $x$ and $y$, preserving the original order, at the beginning of $q$.

When $p$ becomes empty, $q$ will be a permutation of $(1, 2, ..., N)$.

Find the lexicographically smallest permutation that can be obtained as $q$.

Constraints

  • $N$ is an even number.
  • $2 ≤ N ≤ 2 × 10^5$
  • $p$ is a permutation of $(1, 2, ..., N)$.

Input

Input is given from Standard Input in the following format:

$N$
$p_1$ $p_2$ $...$ $p_N$

Output

Print the lexicographically smallest permutation, with spaces in between.


Sample Input 1

4
3 2 4 1

Sample Output 1

3 1 2 4

The solution above is obtained as follows:

$p$ $q$
$(3, 2, 4, 1)$ $()$
$(3, 1)$ $(2, 4)$
$()$ $(3, 1, 2, 4)$

Sample Input 2

2
1 2

Sample Output 2

1 2

Sample Input 3

8
4 6 3 2 8 5 7 1

Sample Output 3

3 1 2 7 4 6 8 5

The solution above is obtained as follows:

$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)$

Input

题意翻译

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

加入题单

上一题 下一题 算法标签: