5. Автобусные остановки Ограничение времени 0.5 секунд
Ограничение памяти 512Mb
Ввод стандартный ввод или input.txt
Вывод стандартный вывод или output.txt
Автобусные остановки расположены через каждые K метров от начала улицы, то есть на расстоянии 0, K, 2K, 3K и т.д. метров от начала. Света от начала улицы N метров, после чего устала и захотела сесть на автобус. Определите, сколько метров нужно пройти Свете до ближайшей остановки.
Формат ввода
Программа получает на вход два целых числа K и N, записанных в отдельных строках. 1≤ K≤ 2×109, 1≤ N≤ 2×109.
Формат вывода
Программа должна вывести одно целое число — расстояние до ближайшей остановки.
Пример
Ввод Вывод
600
2000
200
Примечания
Пояснение к примеру. Остановки расположены на расстоянии 0, 600, 1200, 1800 и т.д. метров. Света метров, до ближайшей остановки нужно идти 200 метров.
|
Решение, правильно работающее только для случаев, когда числа K и N не превосходят 10000, будет оцениваться в
#include <iostream>
int main(void)
{
int n, k; std::cin >> n >> k;
int ans = n % k;
if (ans > k / 2) std::cout << k - ans << std::endl;
else std::cout << ans << std::endl;
return 0;
}
Объяснение:
C++
ответ:k = int(input())
n = int(input())
c = n // k
l = n - (k * c)
g = c + 1
b = (k * g) - n
if b < l:
print(b)
else:
print(l)
if k or n >= 10000:
exit(0)
Объяснение: