Минимальное неотрицательное решение

Просмотр в формате PDF

Submit solution


Очки: 170
Ограничение по времени: 2.0s
Ограничение по памяти: 256M

Автор:
Problem types
Allowed languages
C++, Python

На складе есть два типа упаковок для одного и того же товара.

  • В упаковку первого типа помещается a единиц товара.
  • В упаковку второго типа помещается b единиц товара.

Нужно упаковать ровно c единиц товара, используя некоторое количество упаковок обоих типов.

Пусть:

  • x — число упаковок первого типа,
  • y — число упаковок второго типа.

Требуется найти такую пару целых неотрицательных чисел x и y, что выполнено равенство a * x + b * y = c, причём число упаковок первого типа x должно быть минимально возможным.

Если такой упаковки составить нельзя, выведите -1.

Входные данные

В единственной строке через пробел заданы три целых положительных числа a, b, c.

Выходные данные

Если решения не существует, выведите -1.

Иначе выведите два целых числа x и y через пробел — количество упаковок первого и второго типа соответственно, где x минимально среди всех неотрицательных решений.

Ограничения

  • 1 <= a, b <= 10^9
  • 1 <= c <= 10^18

Примеры

Пример 1

Входные данные

4 7 18

Выходные данные

1 2
Пример 2

Входные данные

6 10 7

Выходные данные

-1

Комментарии

Еще нет ни одного комментария.