Ограничение времени 1 секунда
Ограничение памяти 64Mb
Ввод стандартный ввод или input.txt
Вывод стандартный вывод или output.txt
На некоторых кросс-платформенных станциях метро (как, например, «Третьяковская») на разные стороны платформы приходят поезда разных направлений. Таня договорилась встретиться с подругой на такой станции, но поскольку подруга приехала из другого часового пояса, то из-за джетлага сильно проспала, и Тане пришлось долго её ждать. Поезда всегда ходят точно по расписанию, и Таня знает, что поезд стоит на платформе ровно одну минуту, а интервал между поездами (время, в течение которого поезда у платформы нет) составляет a минут для поездов на первом пути и b минут для поездов на втором пути. То есть на первый путь приезжает поезд и стоит одну минуту, затем в течение a минут поезда у платформы нет, затем в течение одной минуты у платформы стоит следующий поезд и т. д.
Пока Таня стояла на платформе, она насчитала n поездов на первом пути и m поездов на втором пути. Определите минимальное и максимальное время, которое Таня могла провести на платформе, или сообщите, что она точно сбилась со счёта.
Все поезда, которые видела Таня, она наблюдала в течение всей минуты, то есть Таня не приходит и не уходит с платформы посередине той минуты, когда поезд стоит на платформе.
Формат ввода
Первая строка входных данных содержит число a — интервал между поездами на первом пути. Вторая строка содержит число b — интервал между поездами на втором пути. Третья строка содержит число n — количество поездов на первом пути, которые увидела Таня. Четвёртая строка содержит число m — количество поездов на втором пути, которые увидела Таня. Все числа — целые, от 1 до 1000.
Формат вывода
Программа должна вывести два числа: минимальное и максимальное время в минутах, которое Таня могла стоять на платформе, или одно число -1, если Таня точно ошиблась.
Пример 1
Ввод Вывод
1
3
3
2
5 7
Пример 2
Ввод Вывод
1
5
1
2
-1
Примечания
В первом примере по первому пути поезда ходят через 1 минуту. По второму — через 3. Стоя на платформе 5, 6 или 7 минут, Таня могла насчитать 3 поезда на первом пути и 2 на втором.
Ответы
int1 = int(input())
int2 = int(input())
col1 = int(input())
col2 = int(input())
min1 = col1 + int1 * (col1 - 1 ) # Минимальное время которое она находились на платформе, согласно условиям 1 стороны платформы
max2 = col1 + int1 * (col1 + 1 ) # Максимальное время которое она находились на платформе, согласно условиям 1 стороны платформы
min1 = col2 + int2 * (col2 - 1 ) # Минимальное время которое она находились на платформе, согласно условиям 2 стороны платформы
max2 = col2 + int2 * (col2 + 1 ) # Максимальное время которое она находились на платформе, согласно условиям 2 стороны платформы
if min1 > min2 : # Находим общий минимум для обеих сторон плафтормы. Это максимальное из двух значений
totalmin = min1
else :
totalmin = min2
if max1 > max2 : # Находим общий максимум для обеих сторон плафтормы. Это минимальное из двух значений
totalmax = max2
else : # Важно помнить Минимум максимален и постепенно уменьшается. Максимум минимален и постепенно растет
totalmax = max1
if totalmin > totalmax : # Если Минимальное время больше чем максимальное, то , ошибка в подсчете, во всех других случаях интервал существует
print(-1)
else :
print(totalmin , totalmax)
# это пояснение кода, не участвующее в программе