E - Young Maids Editorial /

Time Limit: 2 sec / Memory Limit: 256 MB

配点 : 800800

問題文

NN を正の偶数とします。

(1,2,...,N)(1, 2, ..., N) の順列 p=(p1,p2,...,pN)p = (p_1, p_2, ..., p_N) があります。 すぬけ君は、次の手続きによって (1,2,...,N)(1, 2, ..., N) の順列 qq を作ろうとしています。

まず、空の数列 qq を用意します。 pp が空になるまで、次の操作を繰り返します。

  • pp の隣り合う 22 つの要素を選び、順に xx, yy とする。 xx, yypp から取り除き (このとき、pp22 だけ短くなる)、xx, yy をこの順のまま qq の先頭へ追加する。

pp が空になったとき、qq(1,2,...,N)(1, 2, ..., N) の順列になっています。

辞書順で最小の qq を求めてください。

制約

  • NN は偶数である。
  • 2N2×1052 ≤ N ≤ 2 × 10^5
  • pp(1,2,...,N)(1, 2, ..., N) の順列である。

入力

入力は以下の形式で標準入力から与えられる。

NN
p1p_1 p2p_2 ...... pNp_N

出力

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


入力例 1Copy

Copy
4
3 2 4 1

出力例 1Copy

Copy
3 1 2 4

次の順に操作を行えばよいです。

pp qq
(3,2,4,1)(3, 2, 4, 1) ()()
(3,1)(3, 1) (2,4)(2, 4)
()() (3,1,2,4)(3, 1, 2, 4)

入力例 2Copy

Copy
2
1 2

出力例 2Copy

Copy
1 2

入力例 3Copy

Copy
8
4 6 3 2 8 5 7 1

出力例 3Copy

Copy
3 1 2 7 4 6 8 5

次の順に操作を行えばよいです。

pp qq
(4,6,3,2,8,5,7,1)(4, 6, 3, 2, 8, 5, 7, 1) ()()
(4,6,3,2,7,1)(4, 6, 3, 2, 7, 1) (8,5)(8, 5)
(3,2,7,1)(3, 2, 7, 1) (4,6,8,5)(4, 6, 8, 5)
(3,1)(3, 1) (2,7,4,6,8,5)(2, 7, 4, 6, 8, 5)
()() (3,1,2,7,4,6,8,5)(3, 1, 2, 7, 4, 6, 8, 5)

Score : 800800 points

Problem Statement

Let NN be a positive even number.

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

First, let qq be an empty sequence. Then, perform the following operation until pp becomes empty:

  • Select two adjacent elements in pp, and call them xx and yy in order. Remove xx and yy from pp (reducing the length of pp by 22), and insert xx and yy, preserving the original order, at the beginning of qq.

When pp becomes empty, qq will be a permutation of (1,2,...,N)(1, 2, ..., N).

Find the lexicographically smallest permutation that can be obtained as qq.

Constraints

  • NN is an even number.
  • 2N2×1052 ≤ N ≤ 2 × 10^5
  • pp is a permutation of (1,2,...,N)(1, 2, ..., N).

Input

Input is given from Standard Input in the following format:

NN
p1p_1 p2p_2 ...... pNp_N

Output

Print the lexicographically smallest permutation, with spaces in between.


Sample Input 1Copy

Copy
4
3 2 4 1

Sample Output 1Copy

Copy
3 1 2 4

The solution above is obtained as follows:

pp qq
(3,2,4,1)(3, 2, 4, 1) ()()
(3,1)(3, 1) (2,4)(2, 4)
()() (3,1,2,4)(3, 1, 2, 4)

Sample Input 2Copy

Copy
2
1 2

Sample Output 2Copy

Copy
1 2

Sample Input 3Copy

Copy
8
4 6 3 2 8 5 7 1

Sample Output 3Copy

Copy
3 1 2 7 4 6 8 5

The solution above is obtained as follows:

pp qq
(4,6,3,2,8,5,7,1)(4, 6, 3, 2, 8, 5, 7, 1) ()()
(4,6,3,2,7,1)(4, 6, 3, 2, 7, 1) (8,5)(8, 5)
(3,2,7,1)(3, 2, 7, 1) (4,6,8,5)(4, 6, 8, 5)
(3,1)(3, 1) (2,7,4,6,8,5)(2, 7, 4, 6, 8, 5)
()() (3,1,2,7,4,6,8,5)(3, 1, 2, 7, 4, 6, 8, 5)


2025-03-31 (Mon)
11:11:02 +00:00