100 atcoder#ABC161C. [ABC161C] Replacing Integer

[ABC161C] Replacing Integer

配点 : 300300

問題文

青木君は任意の整数 xx に対し、以下の操作を行うことができます。

操作: xxxxKK の差の絶対値で置き換える。

整数 NN の初期値が与えられます。この整数に上記の操作を 00 回以上好きな回数行った時にとりうる NN の最小値を求めてください。

制約

  • 0N10180 \leq N \leq 10^{18}
  • 1K10181 \leq K \leq 10^{18}
  • 入力は全て整数

入力

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

NN KK

出力

操作を 00 回以上好きな回数行った時にとりうる NN の最小値を出力せよ。

7 4
1

最初、 N=7N=7 です。

11 回操作を行うと、NN74=3|7-4| = 3 となります。

22 回操作を行うと、NN34=1|3-4|=1 となり、これが最小です。

2 6
2

11 回も操作を行わなかった場合の N=2N=2 が最小です。

1000000000000000000 1
0