F - +1-1x2 Editorial /

Time Limit: 2 sec / Memory Limit: 1024 MB

配点 : 600

問題文

高橋君は黒板に整数 X を書きました。
高橋君は以下の 3 種類の操作を好きな順序で何回でも実行することができます。

  • 黒板に書かれている値を 1 増やす
  • 黒板に書かれている値を 1 減らす
  • 黒板に書かれている値を 2 倍する

高橋君が黒板に書かれている値を Y にするために必要な最小の操作回数を求めてください。

制約

  • 1 \le X \le 10^{18}
  • 1 \le Y \le 10^{18}
  • X, Y は整数である

入力

入力は以下の形式で標準入力から与えられる。

X Y

出力

答えを出力せよ。


入力例 1

3 9

出力例 1

3

最初、黒板には 3 が書かれています。以下の 3 回の操作で、これを 9 にすることができます。

  • 黒板に書かれている値を 1 増やす。黒板に書かれている値は 4 になる。
  • 黒板に書かれている値を 2 倍する。黒板に書かれている値は 8 になる。
  • 黒板に書かれている値を 1 増やす。黒板に書かれている値は 9 になる。

入力例 2

7 11

出力例 2

3

以下の手順で黒板に書かれている値を 11 にすることができます。

  • 黒板に書かれている値を 1 減らす。黒板に書かれている値は 6 になる。
  • 黒板に書かれている値を 2 倍する。黒板に書かれている値は 12 になる。
  • 黒板に書かれている値を 1 減らす。黒板に書かれている値は 11 になる。

入力例 3

1000000000000000000 1000000000000000000

出力例 3

0

最初から黒板に書かれている値が Y に等しい場合、0 を出力してください。

Score : 600 points

Problem Statement

Takahashi has written an integer X on a blackboard. He can do the following three kinds of operations any number of times in any order:

  • increase the value written on the blackboard by 1;
  • decrease the value written on the blackboard by 1;
  • multiply the value written on the blackboard by 2.

Find the minimum number of operations required to have Y written on the blackboard.

Constraints

  • 1 \le X \le 10^{18}
  • 1 \le Y \le 10^{18}
  • X and Y are integers.

Input

Input is given from Standard Input in the following format:

X Y

Output

Print the answer.


Sample Input 1

3 9

Sample Output 1

3

Initially, 3 is written on the blackboard. The following three operations can make it 9:

  • increase the value by 1, which results in 4;
  • multiply the value by 2, which results in 8;
  • increase the value by 1, which results in 9.

Sample Input 2

7 11

Sample Output 2

3

The following procedure can make the value on the blackboard 11:

  • decrease the value by 1, which results in 6;
  • multiply the value by 2, which results in 12;
  • decrease the value by 1, which results in 11.

Sample Input 3

1000000000000000000 1000000000000000000

Sample Output 3

0

If the value initially written on the blackboard equals Y, print 0.