C - 高橋君の給料 Editorial

Time Limit: 2 sec / Memory Limit: 256 MB

問題文

高橋君は、社員が NN 人いる会社の社長です。高橋君の会社では、以下のように給料が決まっています。

  • 高橋君を含む社員の全員が、 11 から NN までの社員番号を持っている。高橋君の社員番号はもちろん 11 である。
  • 高橋君以外の社員には、必ず自分より社員番号が小さい上司がただ一人存在する。自分が上司になっている社員のことを、直属の部下と呼ぶ。
  • 直属の部下がいない社員の給料は 11 であり、直属の部下がいる社員の給料は 、max(その社員の直属の部下の給料)+min(その社員の直属の部下の給料)+1{\rm max}(その社員の直属の部下の給料) + {\rm min}(その社員の直属の部下の給料) + 1 である。直属の部下が一人しかいない場合は、その部下の給料の 22 倍 + 11 が、その社員の給料となる。

この時、高橋君の給料を求めなさい。


入力

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

NN
B2B_2
B3B_3
:
BNB_N
  • 11 行目には、社員の数を表す整数 N(1N20)N (1≦N≦20) が与えられる。
  • 22 行目からの N1N-1 行には、各社員の上司の情報が与えられる。このうち ii 行目には、 社員番号 i+1i + 1 番の社員の上司の社員番号を表す整数 Bi(1Bii)B_i(1≦B_i≦i) が、 11 行で与えられる。

出力

高橋君の給料を 11 行で出力しなさい。 出力の末尾には改行を入れること。


入力例1Copy

Copy
5
1
1
1
1

出力例1Copy

Copy
3

高橋君は、直属の部下が 44 人いますが、その全ての部下の給料が 11 です。よって、高橋君の給料は、1+1+1=31 + 1 + 1 = 3となります。


入力例2Copy

Copy
7
1
1
2
2
3
3

出力例2Copy

Copy
7

社員番号 22, 33 の二人の社員が二人部下を持ち、その二人の上司が高橋君、という構成です。 ほかの社員の給料は 11 なので、社員番号 22, 33 の二人の社員の給料は 1+1+1=31 + 1 + 1 = 3 となります。 よって、高橋君の給料は、 3+3+1=73 + 3 + 1 = 7 となります。


入力例3Copy

Copy
6
1
2
3
3
2

出力例3Copy

Copy
11

高橋君の直属の部下は、社員番号 22 の社員一人だけです。 この社員の直属の部下は、社員番号 33, 66 の二人の社員です。 この二人の給料はそれぞれ 33, 11 なので、社員番号 22 の社員の給料は 55 です。 よって、高橋君の給料は、 5+5+1=115+5+1 = 11 となります。


入力例4Copy

Copy
10
1
2
3
4
5
6
7
8
9

出力例4Copy

Copy
1023

高橋君の給料は非常に多くなることがあります。



2025-04-03 (Thu)
06:15:16 +00:00