Загрузка данных


data = []
with open('2624.txt') as file:
    next(file)
    id = 1
    for line in file:
        parts = line.strip().split()
        waiting_time = int(parts[0])
        active_time = int(parts[1])
        min_time = min(waiting_time, active_time)
        if min_time == waiting_time:
            type = "Ожидание"
        else:
            type = "Актив"

        phone = {
            "ID": id,
            "Ожидание": waiting_time,
            "Актив": active_time,
            "Минимальное": min_time,
            "Тип": type
        }
        data.append(phone)
        id += 1

data = sorted(data, key=lambda x: x["Минимальное"])

print(data[-1]["ID"])  # первый ответ

# разделяем на две группы
waiting_phones = [phone for phone in data if phone["Тип"] == "Ожидание"]
active_phones = [phone for phone in data if phone["Тип"] == "Актив"]

# сортируем каждую группу отдельно
waiting_phones_sorted = sorted(waiting_phones, key=lambda x: x["Ожидание"])
active_phones_sorted = sorted(active_phones, key=lambda x: -x["Актив"])

# объединяем
data_sorted = waiting_phones_sorted + active_phones_sorted

# ищем сколько ниже последнего в рейтинге (data[-1]["ID"])
for i, phone in enumerate(data_sorted):
    if phone["ID"] == data[-1]["ID"]:
        count_after = len(data_sorted) - i - 1
        print(count_after)
        break