11378. Мінімальне значення


Відправити розв'язок

Бали: 100
Time limit: 2.0s
Memory limit: 500M

Author:
Problem type
Allowed languages
C++, Java, Pascal, Python

Для будь-якого цілого числа \(x\), Степан може виконати наведену нижче операцію.

Операція:

  • замінити \(x\) на абсолютну різницю \(x\) і \(K\).

Вам дано початкове значення \(N\). Знайдіть мінімально можливе значення змінної \(N\) після того, як Степан виконає операцію нуль або більше разів.

Формат вхідних даних

Вхідний потік містить цілі числа \(N, K\) (\(0 \le N \le 10^{18}\), \(1 \le K \le 10^{18}\))

Формат вихідних даних

У вихідний потік виведіть шукане значеня \(N\)

Примітка

До прикладу 1:

Спочатку \(N=7\). Після однієї операції \(N\) стає |7-4| = 3. Після двох операцій \(N\) стає |3-4| = 1, що є мінімальним значенням.

Приклад вхідних даних

7 4

Приклад вихідних даних

1

Приклад вхідних даних

2 6

Приклад вихідних даних

2

Приклад вхідних даних

1000000000000000000 1

Приклад вихідних даних

0

Коментарі

Ще немає коментарів.