Ограничения: время – 2s/2s, память – 256MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод
Послать решение Blockly Посылки Темы Где Обсудить (0)
Сегодня Леша проходил в школе деление столбиком.
На дом ему задали вычислить частное двух больших чисел: `n` и `m`.
Леша уже попробовал решить пример, но, неожиданно для себя, понял, что `n` на `m` не делится.
Он уверен, что учитель задавал пример, в котором результат не имеет остатка, поэтому он предположил,
что допустил ошибку при переписывании примера с доски.
Теперь он хочет исправить несколько цифр в числе `n`, чтобы оно стало делиться на `m`.
При этом, Леша хочет, чтобы новое число отличалось от записанного у
него в минимальном количестве позиций.
Числа, записанные Лешей, не имеют ведущих нулей,
он уверен, что числа, записанные на доске, также не имели ведущих нулей,
поэтому и в новом числе их не должно быть. Само число
0 при этом является допустимым.
Помогите Леше.
В единственной строке входного файла находятся два целых числа
`n`, `m` (`0\ ≤\ n\ ≤\ 10^{11}`, `1\ ≤\ m\ ≤\ 10^{11}`).
В единственной строке выходного файла выведите одно целое число – результат
изменения минимального числа цифр в числе `n`, чтобы полученное число
не имело ведущих нулей и делилось на `m`.
Если ответов несколько, можете вывести любой.
Если ответа не существует, выведите `-1`.
Источник: XXIII Командный чемпионат школьников Санкт-Петербурга по программированию, 2015