atcoder#ABC274C. [ABC274C] Ameba

[ABC274C] Ameba

配点 : 300300

問題文

あなたはアメーバの観察記録をつけました。

最初 11 匹のアメーバがおり、番号は 11 です。

観察記録は時系列順に NN 個あり、ii 番目の観察記録は「番号 AiA_i のアメーバが分裂して消滅し、新たに 22 匹のアメーバが生まれ、それらにそれぞれ 2i,2i+12i,2i+1 と番号をつけた」というものです。 このとき、アメーバ AiA_i を アメーバ 2i,2i+12i,2i+1 の親と呼びます。

k=1,,2N+1k=1,\ldots,2N+1 について、アメーバ kk から何代親を遡るとアメーバ 11 になるか求めてください。

制約

  • 1N2×1051 \leq N \leq 2\times 10^5
  • 観察記録は矛盾していない。すなわち- 1Ai2i11\leq A_i \leq 2i-1
    • AiA_i は相異なる整数
  • 1Ai2i11\leq A_i \leq 2i-1
  • AiA_i は相異なる整数

入力

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

NN

A1A_1 A2A_2 \ldots ANA_N

出力

2N+12N+1 行出力せよ。kk 行目にはアメーバ kk から何代親を遡るとアメーバ 11 になるかを出力せよ。

2
1 2
0
1
1
2
2

アメーバ 11 からアメーバ 2,32,3 が生まれ、アメーバ 22 からアメーバ 4,54,5 が生まれました。

  • アメーバ 1100 代遡るとアメーバ 11 になります。
  • アメーバ 2211 代遡るとアメーバ 11 になります。
  • アメーバ 3311 代遡るとアメーバ 11 になります。
  • アメーバ 4411 代遡るとアメーバ 22 になり、22 代遡るとアメーバ 11 になります。
  • アメーバ 5511 代遡るとアメーバ 22 になり、22 代遡るとアメーバ 11 になります。
4
1 3 5 2
0
1
1
2
2
3
3
2
2