問題一覧 > 通常問題

No.2363 k-bonacci

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 35
作問者 : 👑 SPD_9X2SPD_9X2
3 ProblemId : 8913 / 自分の提出
問題文最終更新日: 2023-07-16 01:26:25

問題文

整数 $N$ が与えられます。「整数$N$ は $k$-bonacci 数列の要素である」という主張が真となるような2以上の整数 $k$ が存在するか判定し、存在する場合は最小のものを見つけて下さい。


なお、この問題において数列 $A$ は以下の条件を全て満たすとき、また満たすときに限り、$k$-bonacci数列であると定義します。

  •  $A$ は $A_1$ を初項とし、 $A_1,A_2,A_3,\cdots$ と続く長さ無限の数列である。
  •  $i < k$ を満たすならば、$A_i = 0$ である。
  •  $i = k$ を満たすならば、$A_i = 1$ である。
  •  $i > k$ を満たすならば、$A_i = A_{i-k} + A_{i-k+1} + \cdots + A_{i-1}$ である。

入力

$N$

  • 入力は全て整数
  • $1 \le N \le 10^{18}$

出力

条件を満たす整数 $k$ が存在しない場合、$-1$ を出力してください。 そうでない場合、条件を満たす最小の $k$ の値を出力してください
出力は1行目に行い、最後に改行してください。

サンプル

サンプル1
入力
4
出力
3

4は2-bonacci数列には出現しませんが、3-bonacci数列には登場します。

サンプル2
入力
2915
出力
-1

サンプル3
入力
518929865644420416
出力
8

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