Ограничение времени 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)
# это пояснение кода, не участвующее в программе