掛け算か減算か
2つの数値、開始値
s
と目標値 t
が与えられています。s
から t
に到達するには、「現在の数を2倍にする」か「1を引く」かの2種類の操作だけを使います。このとき、
s
から t
へ到達するための操作回数が最小になるようにするにはどうすればよいでしょうか。 入力
最初の行には、2つの整数
s
と t
(1 ≤ s, t ≤ 10 000) が与えられます。 出力
s
から t
まで到達するために必要な操作の最小回数を出力してください。 Examples
Input | Output |
10 1 | 9 |
4 6 | 2 |
Explanation
- 10から1を引く操作を9回行う
- 4 → 3 (1を引く) → 6 (2倍にする)
Constraints
Time limit: 2 seconds
Memory limit: 512 MB
Output limit: 1 MB