Новая Школа - онлайн-школа подготовки к ЕГЭ
При поддержке
Тренировки Пробники Статистика Карточки Учебник Об экзамене Учительская
  • Тренажёр заданий ЕГЭ
  • Тренажёр ЕГЭ по Информатике
  • Список заданий №26
  • Задание №26
  • Задание №74464 ЕГЭ Информатике

    Условие задания #74464

    №26 по КИМ

    Входной файл содержит сведения о заявках на проведение занятий в конференц-⁠зале. В каждой заявке указаны время начала и время окончания мероприятия (в минутах от начала суток). Если время начала одного мероприятия меньше времени окончания другого, то провести можно только одно из них. Если время окончания одного мероприятия совпадает с временем начала другого, то провести можно оба. Определите максимальное количество мероприятий, которое можно провести в конференц-⁠зале и самое позднее время окончания последнего мероприятия.

     

    Входные данные.

    В первой строке входного файла находится натуральное число N (N < 1000)  — количество заявок на проведение мероприятий.

    Следующие N строк содержат пары чисел, обозначающих время начала и время окончания мероприятий. Каждое из чисел натуральное, не превосходящее 1440.

    Запишите в ответе два числа: максимальное  — количество мероприятий, которое можно провести в конференц-зале и самое позднее время окончания последнего мероприятия (в минутах от начала суток).

    Типовой пример организации данных во входном файле:

    5

    10 150

    100 110

    131 170

    131 180

    120 130

    При таких исходных данных можно провести максимум три мероприятия, например, по заявкам 2, 3 и 5. Конференц-⁠зал освободится самое позднее на 180-⁠й минуте, если состоятся мероприятия по заявкам 2, 4, 5.

    26 (7).txt

    Ответ

    Ответ:

    16 1345

    Решение

    s = open('26.txt').readlines()[1:]
    times = []
    for item in s:
        time = [int(i) for i in item.split()][::-1]
        times.append(time)
    times = sorted(times)
    times = [i[::-1] for i in times]
    selectedTimes = [times[1]]
    times = times[1:]
    for time in times:
        if selectedTimes[-1][1] <= time[0]:
            selectedTimes.append(time)
    biggestStartTime = selectedTimes[-2][1]
    biggestEndingTime = max([i[1] for i in times if biggestStartTime <= i[0]])
    print(len(selectedTimes), biggestEndingTime)

    Понятно ли решение?

    Похожие задания

    15
    Задание №46720Задание №46721Задание №46752Задание №51424Задание №46719Задание №32183Задание №46642Задание №32179Задание №41214Задание №46643Задание №56108Задание №41209Задание №41208Задание №36692Задание №46645
    Бесплатно

    Решай задачи ЕГЭ в приложении

    Скачивай наш Тренажер ЕГЭ на iPhone или Android и тренируйся в любое время и в любом месте!

    Саша — ассистент в телеграмме