atcoder#ABC188F. [ABC188F] +1-1x2

[ABC188F] +1-1x2

题目描述

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

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

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

输入格式

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

X X Y Y

输出格式

答えを出力せよ。

题目大意

题目描述

高桥君在黑板上写下了一个正整数 X,现在高桥君想要让这个正整数变成 Y,每一次都可以按以下三种中的任意一种方式来改变这个数:

  1. 将目前黑板上的数加1。

  2. 将目前黑板上的数减1。

  3. 将目前黑板上的数乘以2。

现在高桥君想要知道从 X 变成 Y 的最小次数。

输入格式

两个正整数 X , Y。

输出格式

X 变成 Y 的最小操作的次数。

说明/提示

  • 1≤X≤1018{10^{18}}
  • 1≤Y≤1018{10^{18}}
3 9
3
7 11
3
1000000000000000000 1000000000000000000
0

提示

制約

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

Sample Explanation 1

最初、黒板には 3 3 が書かれています。以下の 3 3 回の操作で、これを 9 9 にすることができます。 - 黒板に書かれている値を 1 1 増やす。黒板に書かれている値は 4 4 になる。 - 黒板に書かれている値を 2 2 倍する。黒板に書かれている値は 8 8 になる。 - 黒板に書かれている値を 1 1 増やす。黒板に書かれている値は 9 9 になる。

Sample Explanation 2

以下の手順で黒板に書かれている値を 11 11 にすることができます。 - 黒板に書かれている値を 1 1 減らす。黒板に書かれている値は 6 6 になる。 - 黒板に書かれている値を 2 2 倍する。黒板に書かれている値は 12 12 になる。 - 黒板に書かれている値を 1 1 減らす。黒板に書かれている値は 11 11 になる。

Sample Explanation 3

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