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

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

    №26 по КИМ

    Во многих компьютерных системах текущее время хранится в формате «UNIX-⁠время»  — количестве секунд от начала суток 1 января 1970 года.

    В одной компьютерной системе проводили исследование загруженности. Для этого в течение месяца с момента UNIX-⁠времени 1633046400 фиксировали и заносили в базу данных моменты старта и финиша всех процессов, действовавших в этой системе.

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

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

     

    Первая строка входного файла содержит целое число N  — общее количество процессов за весь период наблюдения. Каждая из следующих N строк содержит 2 целых числа: время старта и время завершения одного процесса в виде UNIX-⁠времени. Все данные в строках входного файла отделены одним пробелом.

    Если в качестве времени старта указан ноль, это означает, что процесс был активен в момент начала исследования. Если в качестве времени завершения указан ноль, это означает, что процесс не завершился к моменту окончания исследования.

    При совпадающем времени считается, что все старты и завершения процессов происходят одновременно, в начале соответствующей секунды. В частности, если время старта одного процесса совпадает с временем завершения другого и других стартов и завершений в этот момент нет, то количество активных процессов в этот момент не изменяется.

    В ответе запишите два целых числа: сначала максимальное количество процессов, которые выполнялись одновременно на неделе, начиная с момента UNIX-⁠времени 1634515200, затем суммарное количество секунд, в течение которых на этой неделе выполнялось такое максимальное количество процессов.

    26.txt

    Ответ

    Ответ:

    7768 20

    Решение

    f = open('26.txt')
    n = int(f.readline())
    L = []
    w0 = 1634515200
    w1 = w0 + 7*24*3600
    for i in f:
        st, en = [int(x) for x in i.split()]
        if en == 0: en = w1
        if st >= w1 or en <= w0: continue
        L.extend([(max(st,w0), 1),(min(en,w1), -1)])
    L.sort()
    mxk = k = 0
    for t, dk in L:
        k += dk
        if k > mxk: mxk, dt = k, 0
        if k -dk == mxk: dt += t - t0
        t0 = t
    print(mxk, dt)

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

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

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

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

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

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