問題一覧 > 通常問題

No.2740 Old Maid

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 84
作問者 : tassei903tassei903 / テスター : kenken714kenken714 cho435cho435 ponjuiceponjuice
0 ProblemId : 10829 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2024-04-19 01:07:36

問題文

$N$ を正の偶数とします。

$(1, 2, \dots N)$ の順列 $p=(p_1, p_2, \dots, p_N)$ があります。とらお君は、次の手続きによって $(1, 2, \dots, N)$ の順列 $q$ を作ろうとしています。

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

  • $p$ の隣り合う $2$ つの要素を選び、 $x, y$ とする。 $x, y$ を $p$ から取り除き (このとき、$p$ は $2$ だけ短くなる)、$x, y$ をこの順のまま $q$ の末尾へ追加する。

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

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

制約

  • $N$ は偶数である。
  • $2 \le N \le 2\times 10^5$
  • $(p_1, p_2, \dots, p_N)$ は $(1, 2, \dots, N)$ の順列である。

入力

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

$N$
$p_1$ $p_2$ $\dots$ $p_N$

出力

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

サンプル

サンプル1
入力
4
3 2 4 1
出力
2 4 3 1

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

$p$                  $q$
$(3, 2, 4, 1)$          $()$
$(3, 1)$              $(2, 4)$ 
$()$                 $(2, 4, 3, 1)$ 
サンプル2
入力
2
1 2
出力
1 2
サンプル3
入力
8
4 6 3 2 8 5 7 1
出力
2 8 3 5 4 6 7 1

提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。