Задание 26 ЕГЭ по информатике · 09681E

Журнал сервера и резервные копииВысокаяКЭС 3.10
Сервер выполняет запросы на передачу данных. Сведения о каждом выполненном запросе — время регистрации, идентификатор клиента и объём переданных данных — сохраняются в журнале работы, а сам запрос размещается в специальном разделе памяти сервера ограниченного объёма. Когда в специальном разделе остаётся недостаточно свободной памяти, сервер создаёт резервную копию всех накопленных там данных, освобождает раздел и продолжает выполнение запросов. Напишите программу для обработки журнала работы сервера и с её помощью определите идентификатор клиентского устройства, с которого на сервер был передан наибольший суммарный объём данных не позднее 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, затем сумму объёмов двух наибольших резервных копий.
1_09681E.txt

Показать ответ
9517 46436
Подсказки (3)
  1. Какие данные нужно накапливать отдельно для клиентов, а какие — для последовательных резервных копий?
  2. Храните текущий объём данных в специальном разделе. Перед добавлением очередного запроса, если текущий объём плюс S превышает K, сохраните текущий объём как резервную копию и обнулите накопитель.
  3. Для каждого клиента увеличивайте сумму только при времени не позднее 11:59:59. Одновременно поддерживайте две наибольшие величины резервных копий.
Решение
1. Для каждого запроса преобразуем время в секунды от начала суток и сравниваем его с 11:59:59. Если запрос подходит по времени, увеличиваем суммарный объём данных соответствующего клиента.
t=3600h+60m+s

2. Перед размещением запроса проверяем, достаточно ли свободного места. Если текущий объём памяти вместе с новым запросом превысит K, текущий объём становится очередной резервной копией, после чего раздел освобождается.
M+S>K⇒Bi=M, M=0

3. После проверки добавляем объём запроса в специальный раздел.
M:=M+S

4. Для каждой резервной копии обновляем две наибольшие найденные величины, не сохраняя весь список копий.

5. После обработки всех строк находим идентификатор клиента с максимальной суммой и складываем две наибольшие резервные копии.
Частые ошибки
  • Учитывают для первого ответа запросы после 11:59:59.
  • Создают резервную копию после добавления запроса, хотя сначала нужно проверить нехватку свободной памяти.
  • Забывают обнулить текущий объём после создания резервной копии.
  • Суммируют все резервные копии вместо двух наибольших.
  • Сохраняют недостаточно большие значения при обновлении двух максимумов.

Источник: Открытый банк ФИПИ

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

26Сервер выполняет запросы на передачу данных. Для каждого запроса в журнале указаны время регистрации…Журнал сервера и резервные копии · 0AF4A526Сервер выполняет запросы на передачу данных, при этом сведения о каждом выполненном запросе (время…Журнал сервера и резервные копии · 1E4F5226Сервер выполняет запросы на передачу данных. Сведения о каждом запросе — время регистрации, идентификатор…Журнал сервера и резервные копии · 83B7FD26Сервер выполняет запросы на передачу данных. Сведения о каждом выполненном запросе — время регистрации…Журнал сервера и резервные копии · A4B35126Два игрока играют в следующую игру. Перед ними лежат две кучки камней, в первой из которых 3, а во второй — 2…Игровая стратегия с обоснованием · 02861826В магазине для упаковки подарков есть N кубических коробок из материалов двух видов. Одну коробку можно…Коробки и коржи: вложение с заданной разностью · 05BFA6

Нужен репетитор по информатике?

Посмотрите репетиторов, которые ведут занятия в Precettore, или оставьте заявку — подберём сами.

Репетиторы по информатике

Подбор репетитора

Напишите, что нужно, — команда Precettore подберёт репетитора и свяжется с вами.

Готовьтесь к ЕГЭ по информатике в Precettore

Варианты с автопроверкой, домашние задания от репетитора, онлайн-доска и разбор ошибок — в одном кабинете. Регистрация бесплатная.