def check_schedule(schedule: list[tuple[str, int, int]]) -> bool: # 1. Проверяем, что в каждом кортеже start < end for _, start, end in schedule: if start >= end: return False # 2. Сортируем расписание по времени начала для проверки перекрытий sorted_schedule = sorted(schedule, key=lambda x: x[1]) # 3. Проверяем, не заканчивается ли текущая пара позже, чем начинается следующая for i in range(len(sorted_schedule) - 1): current_end = sorted_schedule[i][2] next_start = sorted_schedule[i+1][1] if current_end > next_start: return False return True