Решение: Время победителя регаты
Участники парусной регаты стартовали одновременно. На финише фиксировалось время прохождения маршрута каждой яхтой (в часах и минутах). Определите время победителя регаты (в часах и минутах). Известно, что соревнования проходили в течение 12 часов.
Программа получает на вход количество яхт, принимавших участие в регате $N$ ($1 \leq N \leq 100$), затем для каждой яхты вводятся два числа: часы и минуты, затраченные на прохождение маршрута.
Решение по шагам
4 шагаСчитываем количество яхт и устанавливаем большое начальное значение минимального времени.
$$min_time = 12 \cdot 60$$Для каждой яхты переводим время прохождения из часов и минут в минуты.
$$t = 60h + m$$Сравниваем полученное время с текущим минимумом и сохраняем меньшее значение.
$$min\_time = \min(min\_time, t)$$Переводим минимальное время обратно в часы и минуты и выводим результат.
$$h = min\_time // 60,\quad m = min\_time \% 60$$n = int(input())
min_time = 12 * 60
for _ in range(n):
hours, minutes = map(int, input().split())
total_minutes = hours * 60 + minutes
if total_minutes < min_time:
min_time = total_minutes
print(min_time // 60, min_time % 60)
Этот ответ получен в разборе, но не сверен с официальным ключом из банка — проверьте выкладки, прежде чем заучивать результат.
Где здесь ошибаются
Сравнивают отдельно часы и минуты, не переводя время в единую единицу измерения.
Используют обычное деление вместо целочисленного деления при восстановлении часов.
Выводят только минимальное число минут, а не часы и минуты.