26

Обработка журнала сервера

ЕГЭ · Информатика · Задание 26 · Массивы и строки
ВысокаяФИПИ09681eКороткий ответ≈ 15 минут

Сервер выполняет запросы на передачу данных. Сведения о каждом выполненном запросе — время регистрации, идентификатор клиента и объём переданных данных — сохраняются в журнале работы, а сам запрос размещается в специальном разделе памяти сервера ограниченного объёма. Когда в специальном разделе остаётся недостаточно свободной памяти, сервер создаёт резервную копию всех накопленных там данных, освобождает раздел и продолжает выполнение запросов. Напишите программу для обработки журнала работы сервера и с её помощью определите идентификатор клиентского устройства, с которого на сервер был передан наибольший суммарный объём данных не позднее 11:59:59, а также сумму объёмов двух наибольших резервных копий специального раздела в Кбайт.

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

В ответе запишите два числа: сначала идентификатор устройства, с которого был передан наибольший суммарный объём данных не позднее 11:59:59, затем сумму объёмов двух наибольших резервных копий.

Условие как в банке ФИПИ — открыть и сверить
Впишите правильный ответ.

Задание выполняется с использованием прилагаемых файлов.

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

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

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

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

В ответе запишите два числа: сначала идентификатор устройства,
с которого на сервер был передан наибольший суммарный объём данных не позднее 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 Кбайт от клиентов с идентификаторами 101, 202, 303 и 404 соответственно. Ответ для приведённого примера: 101 252 000.

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



Ваш ответ

Формат: число или слово без единиц измерения; дробную часть отделяйте запятой.

!
3 уровня: от лёгкого толчка до почти готового решения. Следующий открывается, когда прочитан предыдущий, — чтобы не перепрыгнуть сразу к ответу.
1Мягкая — с чего смотретьуровень 1 из 3

Какие данные нужно накапливать отдельно для клиентов, а какие — для последовательных резервных копий?

2Наводящая — какие числа считатьуровень 2 из 3

Храните текущий объём данных в специальном разделе. Перед добавлением очередного запроса, если текущий объём плюс $S$ превышает $K$, сохраните текущий объём как резервную копию и обнулите накопитель.

3Прямая — фактически решениеуровень 3 из 3

Для каждого клиента увеличивайте сумму только при времени не позднее 11:59:59. Одновременно поддерживайте две наибольшие величины резервных копий.

Всё равно не складывается?Полное решение с обоснованием каждого шага — на отдельной странице.
Открыть решение

Задание 26 ЕГЭ, информатика

Задача из темы «Массивы и строки»: в ней 238 задач с ответом и разбором по шагам. В 26-м номере бланка — 75 задач.

Ответ можно проверить здесь же, а если не выходит — открыть подсказку или разбор. Регистрация не нужна.