No.3636 Find Supersuperfibonacci Number
問題文最終更新日: 2026-08-21 23:15:16
はじめに
この問題は先週公開されたyukicoder contest 509のD問題「Find Superfibonacci Number」を原案として作成されました。
そのため、コンテスト終了直後にこの問題を公開する予定だったのですが、Writerの不注意で申請の日が1週間ずれていました。申し訳ございません。
問題文
正整数 $K$ が与えられます。
以下の条件をすべて満たす最小の正整数 $n$ を求めてください。存在しないなら -1 を出力してください。
- $n$ の桁和は $K$ である。
- $10^x\leq n< 10^{x+1}$ を満たす唯一の整数を $x$、$n$ を十進数として解釈したときの $10^i$ の位の値を $n_i$ と定義したとき、任意の $0\leq i\leq x-2$ を満たす非負整数 $i$ について $n_{i+2} \gt n_{i+1} + n_i$ が成り立つ。
ここで、$n< 100$ である時は常に2つ目の条件を満たすことに注意してください。
$T$ 個のテストケースが与えられるので、それぞれについて答えてください。
制約
- 入力される値はすべて整数
- $1 \leq T \leq 1000$
- $1 \leq K \leq 10^6$
- すべてのテストケースにわたる $K$ の総和は $10^6$ 以下
入力
$T$ $Test_1$ $Test_2$ $\vdots$ $Test_T$また、各テストケースは以下の形式で与えられる。
$K$
出力
$T$ 行出力してください。
$i$ 行目には $i$ 個目のテストケースの答えを出力してください。
サンプル
サンプル1
入力
2 16 9231
出力
79 -1
一つ目のテストケースについて、$n=952,8521,97$ などが問題文の条件を満たします。問題文の条件を満たす最小の正整数は $79$ なので、 $79$ を出力してください。
二つ目のテストケースについて、条件を満たす $n$ は存在しないので-1を出力してください。
提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。
kazuppa