ALEXMATH

Информатика. ЕГЭ

Задания для подготовки

Задачи разных лет из реальных экзаменов, демо-вариантов, сборников задач и других источников

Перейти к заданиям

Задание 26. Информатика. ЕГЭ 2026. Резерв. 22.06.2026

Просмотры: 131
Изменено: 6 августа 2026

Сервер выполняет запросы на передачу данных, при этом сведения о каждом выполненном запросе (время регистрации, идентификатор клиента, объём переданных данных) сохраняются в журнале работы, а переданные данные - в специальном разделе памяти сервера, имеющем ограниченный объём. Каждый раз, когда остаётся недостаточно свободной памяти, сервер создаёт резервную копию всех накопленных там данных, после чего освобождает раздел и продолжает выполнение запросов.

Напишите программу для обработки журнала работы сервера и с её помощью определите наибольший суммарный объём, переданных на сервер с одного клиентского устройства данных, не превышающий \(150~000\) Кбайт, а также сумму объёмов (в Кбайт) двух последних по времени резервных копий специального раздела, выполненных не позднее \(11{:}59{:}59.\)

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

Первая строка входного файла (журнала работы сервера) содержит два натуральных числа: \(N\) \((N < 1~000~000)\) — количество строк в журнале и \(K\) \((K < 1~000~000)\) — вместимость специального раздела памяти сервера в Кбайт. Каждая из следующих \(N\) строк содержит информацию об одном выполненном запросе: время регистрации запроса в формате ЧЧ:ММ:СС (часы, минуты, секунды), а также два натуральных числа: \(C\) \((C < 1~000~000)\) — идентификатор клиентского устройства и \(S\) \((S < K)\) — объём данных запроса в Кбайт.

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

В ответе запишите два числа: сначала наибольший суммарный объём данных с одного клиентского устройства, не превышающий \(150~000\) Кбайт, а затем сумму объёмов (в Кбайт) двух последних по времени резервных копий специального раздела, выполненных не позднее \(11{:}59{:}59.\)

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

\(8 \,\, 140000\)
\(01{:}01{:}01 \,\, 101 \,\, 20000\)
\(03{:}03{:}03 \,\, 202 \,\, 110000\)
\(05{:}05{:}05 \,\, 101 \,\, 90000\)
\(07{:}07{:}07 \,\, 303 \,\, 62000\)
\(10{:}10{:}10 \,\, 101 \,\, 48000\)
\(15{:}15{:}15 \,\, 202 \,\, 12000\)
\(21{:}21{:}21 \,\, 303 \,\, 120000\)
\(23{:}23{:}23 \,\, 404 \,\, 134000\)

При таких исходных данных резервное копирование специального раздела выполняется четыре раза: в \(05{:}05{:}05\) (в объёме \(130~000\) Кбайт), в \(07{:}07{:}07\) (в объёме \(90~000\) Кбайт), в \(21{:}21{:}21\) (в объёме \(122~000\) Кбайт) и в \(23{:}23{:}23\) (в объёме \(120~000\) Кбайт).

Всего на сервер должно быть передано \(596~000\) Кбайт данных: \(158~000, \, 122~000, \, 182~000\) и \(134~000\) Кбайт от клиентов с идентификаторами \(107, \, 202, \, 303\) и \(404\) соответственно. Ответ для приведённого примера: \(134~000 \,\, 220~000.\)

Типовой пример имеет иллюстративный характер. Для выполнения задания используйте данные из прилагаемого файла.

Решение:

Python


fd = open('26.txt')
N, K = map(int, fd.readline().split())
requests = []
for line in fd:
    t, c, s = line.split()
    requests.append((t, int(c), int(s)))
clients = {}
reserve = []
V = 0
for req in requests:
    clients[req[1]] = clients.get(req[1], 0) + req[2]
    if req[0] < '12:00:00':
        if V + req[2] > K:
            reserve.append(V)
            V = req[2]
        else:
            V += req[2]
cl = [v for v in clients.values() if v < 150_000]

print(max(cl), sum(reserve[-2:]))

Ответ: \(149369 \,\, 45828\)

Обсуждение задания

Здесь пока нет ни одного комментария. Будьте первым!

kege1
kege2
kege3
Новый тренажёр-эмулятор
Станции КЕГЭ

Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене.

Новое видео

Методы решения задания 16 ЕГЭ по Информатике «Вычисление рекуррентных выражений»

Поддержать автора сайта!

Поддержите автора сайта, если материалы, размещённые здесь, оказались вам полезны.

Совершая донат, вы соглашаетесь с Условиями использования

Расписание пробников Статграда в 2026/27 учебном году