E - Fibonacci Subtree
解説を見る- 実行時間制限:2000 ms
- メモリ制限:1073741824 Bytes
- 配点:525 点
- ジャッジ:Batch
問題
yama_can くんは、新しい根付き木(ここでは、グラフ理論の木)の種類を思いつき、それをフィボナッチ木として命名しました。
- レベル のフィボナッチ木は1つの頂点から構成される木である
- レベル のフィボナッチ木は1つの頂点から構成される木である
- レベル のフィボナッチ木は新しく1つの根を作り、レベル のフィボナッチ木とレベル のフィボナッチ木の根をそれぞれ新しい根に辺を貼ってできる木である。
さて、yama_can くんは今自分が持っている木がフィボナッチ木の部分木であるかが気になりました。
木 が与えられるので、それがあるレベルのフィボナッチ木の部分木となる最小のレベルを出力してください。
フィボナッチ木の部分木となりえない場合は -1 を出力してください。
ただし、「木 の部分木」とは木 のある2つの頂点 を選択し、 を始点とし を含むパスの終点となる頂点をすべて削除する操作を繰り返して得られる木です。
木は、入力で与えられる長さ の数列 についてを をつなぐ 個の辺からなる木として与えられます。
制約
- グラフは木である
入力
小課題
- 小課題1 (200点)
- 小課題2 (325点)
- 追加の制約はありません
入力例1
4 1 2 2 3 3 4
この入力はすべての小課題の制約を満たします。
出力例1
3
入力例2
2 2 1
出力例2
2
入力例3
3 1 2 1 3
出力例3
2