Ограничение времени 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 на втором.​

Арбуз2200047 Арбуз2200047    2   15.12.2019 15:06    117

Ответы
Dorefi Dorefi  10.10.2020 20:44

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)

# это пояснение кода, не участвующее в программе

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика