危険な実験
建物の階数が n、そしてまったく同じ性質をもつ k 本のボトルが与えられているとします。各ボトルはどの階から落としてもかまいませんが、ある特定の階以上から落とすと割れてしまいます。
このとき、与えられたボトルを使って、ボトルが割れ始める最も低い階を見つけるために必要な最小回数の試行を求めることが課題です。

入力
入力は 1 行で、建物の階数を表す n (100 ≤ n ≤ 500) と、ボトルの本数を表す k (1 ≤ k ≤ 30) の 2 つの整数が与えられます。
出力
使えるボトルの数を考慮した上で、ボトルが割れ始める階を特定するために必要な最小の試行回数を 1 つの整数として出力してください。
例
Input | Output |
|---|---|
100 2 | 14 |
Constraints
Time limit: 10 seconds
Memory limit: 512 MB
Output limit: 1 MB