Выбрать соревнование | Задачи | Послать решение | Результаты проверки | Статистика по задачам | Вопросы и ответы | Результаты соревнования | Состояние сервера | Изменить данные | Управление командой | Помощь |
24/09/2023 | Очный тур личного первенства по спортивному программированию (C) |
25/09/2023 | Дорешивание задач личного первенства (проводит BOGAT) (A) |
Ограничения: время – 250ms/500ms, память – 256MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод
Послать решение Blockly Посылки Темы Где Обсудить (0)
Для борьбы с Баззом Лайтером злодей Зург использует роботов двух видов: рабочих и солдат. Каждый рабочий строит ровно X других роботов (рабочих или солдат — как получится), а затем рассыпается от усталости. Солдат же ничего не строит, а сразу поступает на вечную службу в армию Зурга. Злодей лично построил одного робота-рабочего, а когда все рабочие рассыпались, у Зурга осталась армия из Y роботов-солдат.
Зург хочет понять, сколько деталей ушло на постройку роботов, но не очень хорошо владеет складским учетом. Определите по числам X и Y, могут ли они быть корректными, и сколько всего роботов (рабочих и солдат) было построено?
Единственная строка ввода содержит два целых числа X и Y (1≤X,Y≤1018).
Выведите одно неотрицательное целое число — общее количество построенных роботов (включая собранного Зургом первого рабочего), если входные данные корректны и достаточны для его нахождения; или -1, если Зург ошибся и указанное сочетание X и Y невозможно; или -2, если существует несколько возможных ответов, удовлетворяющих условию задачи.
Пример ввода 1
2 2023
Пример вывода 1
4045
Пример ввода 2
2023 2
Пример вывода 2
-1