atcoder#ABC297D. [ABC297D] Count Subtractions

[ABC297D] Count Subtractions

配点 : 400400

問題文

正整数 A,BA,B が与えられます。

あなたは、A=BA=B になるまで以下の操作を繰り返します。

  • A,BA,B の大小関係に応じて、次の 22 個のうちどちらかの処理を行う。- A>BA > B ならば、AAABA-B で置き換える。
    • A<BA < B ならば、BBBAB-A で置き換える。
  • A>BA > B ならば、AAABA-B で置き換える。
  • A<BA < B ならば、BBBAB-A で置き換える。

A=BA=B になるまで、操作を何回行うか求めてください。ただし、有限回の操作で A=BA=B になることが保証されます。

制約

  • 1A,B10181 \le A,B \le 10^{18}
  • 入力はすべて整数

入力

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

AA BB

出力

答えを出力せよ。

3 8
4

始め、A=3,B=8A=3,B=8 です。操作は以下のように行われます。

  • Aであるため、A であるため、BB-A=5で置き換える。 で置き換える。A=3,B=5$ となる。
  • Aであるため、A であるため、BB-A=2で置き換える。 で置き換える。A=3,B=2$ となる。
  • A>BA>B であるため、AAAB=1A-B=1 で置き換える。A=1,B=2A=1,B=2 となる。
  • Aであるため、A であるため、BB-A=1で置き換える。 で置き換える。A=1,B=1$ となる。

よって、操作回数は 44 回です。

1234567890 1234567890
0

入力が 32bit 整数型に収まらないことがあることに注意してください。

1597 987
15