問題にチャレンジして、ユーザー同士で解答を教え合ったり、コードを公開してみよう!
根を 0 として、各ノードに順番に番号が割り当てられた二分木を考えます。この二分木では、親ノードの番号を 2 倍して 1 または 2 を足したものが子ノードの番号となっています。
長さ N の数列が与えられます。この数列のインデックスと二分木の番号が対応しており、
数列の"親の番号"番目の要素は、"子の番号"番目の要素以下であるという条件(*)が成り立っています。
N
a_0 ... a_{N-1}
条件(*)が成り立つように入れ替えた長さ N-1 の数列の要素を、左から順番に半角スペース区切りで一行で出力してください。
また末尾に改行をいれ、余計な文字、空行を含んではいけません。
すべてのテストケースにおいて、以下の条件をみたします。
8
1 7 3 5 12 9 11 10
3 7 9 5 12 10 11
9
1 3 9 4 5 10 11 12 8
3 4 9 8 5 10 11 12