Time Limit: 2 sec / Memory Limit: 1024 MB
配点 : 300 点
問題文
青木君は任意の整数 x に対し、以下の操作を行うことができます。
操作: x を x と K の差の絶対値で置き換える。
整数 N の初期値が与えられます。この整数に上記の操作を 0 回以上好きな回数行った時にとりうる N の最小値を求めてください。
制約
- 0 ≤ N ≤ 10^{18}
- 1 ≤ K ≤ 10^{18}
- 入力は全て整数
入力
入力は以下の形式で標準入力から与えられる。
N K
出力
操作を 0 回以上好きな回数行った時にとりうる N の最小値を出力せよ。
入力例 1
7 4
出力例 1
1
最初、 N=7 です。
1 回操作を行うと、N は |7-4| = 3 となります。
2 回操作を行うと、N は |3-4|=1 となり、これが最小です。
入力例 2
2 6
出力例 2
2
1 回も操作を行わなかった場合の N=2 が最小です。
入力例 3
1000000000000000000 1
出力例 3
0
Score : 300 points
Problem Statement
Given any integer x, Aoki can do the operation below.
Operation: Replace x with the absolute difference of x and K.
You are given the initial value of an integer N. Find the minimum possible value taken by N after Aoki does the operation zero or more times.
Constraints
- 0 ≤ N ≤ 10^{18}
- 1 ≤ K ≤ 10^{18}
- All values in input are integers.
Input
Input is given from Standard Input in the following format:
N K
Output
Print the minimum possible value taken by N after Aoki does the operation zero or more times.
Sample Input 1
7 4
Sample Output 1
1
Initially, N=7.
After one operation, N becomes |7-4| = 3.
After two operations, N becomes |3-4| = 1, which is the minimum value taken by N.
Sample Input 2
2 6
Sample Output 2
2
N=2 after zero operations is the minimum.
Sample Input 3
1000000000000000000 1
Sample Output 3
0