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

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

    №26 по КИМ

    Входной файл содержит заявки пассажиров, желающих сдать свой багаж в камеру хранения.

    В заявке указаны время сдачи багажа и время освобождения ячейки (в минутах от начала суток). Багаж одного пассажира размещается в одной свободной ячейке с минимальным номером. Ячейки пронумерованы начиная с единицы. Размещение багажа в ячейке или её освобождение происходит в течение 1 мин. Багаж можно поместить в только что освобождённую ячейку начиная со следующей минуты.

    Если в момент сдачи багажа свободных ячеек нет, то пассажир уходит. Определите, сколько пассажиров сможет сдать свой багаж в течение 24 ч и какой номер будет иметь ячейка, которую займут последней. Если таких ячеек несколько, укажите минимальный номер ячейки.

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

    В первой строке входного файла находится натуральное число K, не превышающее 1000,  — количество ячеек в камере хранения.

    Во второй строке  — натуральное число N (N ≤ 1000), обозначающее количество пассажиров. Каждая из следующих N строк содержит два натуральных числа, каждое из которых не превышает 1440: указанное в заявке время размещения багажа в ячейке и время освобождения ячейки (в минутах от начала суток).

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

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

    2

    5

    30 60

    40 1000

    59 60

    61 1000

    1010 1440

    При таких исходных данных положить вещи в камеру хранения смогут первый, второй, четвёртый и пятый пассажиры.

    Последний пассажир положит вещи в ячейку 1, так как ячейки 1 и 2 будут свободны.

    1_26.txt

    Ответ

    Ответ:

    344 53

    Решение

    f = open('1_26.txt')
    k = int(f.readline())
    n = int(f.readline())
    a = sorted([list(map(int, i.split())) for i in f])
    count  = 0
    maxt = kposled = 0
    for i in range (1, k+1):
        start = 0
        for x in a:
            if x[0]-start >= 1 and x[0] > 0 and x[1] > 0:
                count +=1
                start = x[1]
                if x[0] > maxt:
                    maxt = x[0]
                    kposled = i
                x[0] = -1
                x[1] = -1
    print(count, kposled)

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

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

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

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

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

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