Задание 26 ЕГЭ по информатике · 0AF4A5
Журнал сервера и резервные копииВысокаяКЭС 3.10
Сервер выполняет запросы на передачу данных. Для каждого запроса в журнале указаны время регистрации, идентификатор клиента и объём переданных данных. Переданные данные сохраняются в специальном разделе памяти сервера вместимостью K Кбайт. Каждый раз, когда для очередного запроса недостаточно свободной памяти, сервер создаёт резервную копию всех накопленных данных, после чего освобождает раздел и продолжает выполнение запросов. Определите идентификатор клиентского устройства, с которого на сервер был передан наибольший общий объём данных, а также сумму объёмов двух наибольших резервных копий, созданных не позднее 11:59:59.
В первой строке входного файла находятся натуральные числа N и K: количество записей журнала и вместимость раздела памяти в Кбайт. В каждой из следующих N строк записаны время в формате ЧЧ:ММ:СС, идентификатор клиента C и объём данных S в Кбайт. Выведите два числа: сначала идентификатор клиента, затем сумму объёмов двух наибольших подходящих резервных копий.
1_0AF4A5.txtВ первой строке входного файла находятся натуральные числа N и K: количество записей журнала и вместимость раздела памяти в Кбайт. В каждой из следующих N строк записаны время в формате ЧЧ:ММ:СС, идентификатор клиента C и объём данных S в Кбайт. Выведите два числа: сначала идентификатор клиента, затем сумму объёмов двух наибольших подходящих резервных копий.
Показать ответ
7040 52204
Подсказки (3)
- Какие данные нужно накапливать отдельно для каждого клиента, а какие — для каждой резервной копии?
- Храните суммы объёмов по идентификаторам клиентов и текущий объём данных в разделе. Перед добавлением запроса, который не помещается, сохраните текущий объём как резервную копию.
- При обработке каждой записи: если текущий объём плюс S больше K, добавьте текущий объём в список копий и обнулите его; затем прибавьте S. После прохода найдите максимальную сумму по клиентам и сумму двух максимальных копий со временем не позднее 11:59:59.
Решение
1. Для каждого идентификатора клиента поддерживаем суммарный объём переданных данных. Это можно сделать словарём, не храня весь журнал. total[C]+=S 2. Поддерживаем объём данных, накопленных в специальном разделе. Если очередной запрос не помещается, текущий объём становится резервной копией, после чего раздел освобождается. current+S>K⇒backups.append(current), current=0 3. После освобождения раздела добавляем объём текущего запроса. Так моделируется последовательная обработка журнала. current+=S 4. Из словаря выбираем идентификатор с наибольшей суммой. Среди резервных копий, созданных не позднее 11:59:59, выбираем две наибольшие и складываем их объёмы. 5. Времена можно сравнивать как строки формата ЧЧ:ММ:СС или перевести в секунды. Так как записи идут в хронологическом порядке, момент создания копии определяется временем запроса, перед которым раздел пришлось освободить.
Частые ошибки
- Создают резервную копию после добавления запроса, хотя копирование выполняется перед добавлением, если запрос не помещается.
- Забывают обнулить объём раздела после создания резервной копии.
- Учитывают резервные копии после 11:59:59.
- Ищут двух клиентов с наибольшими объёмами вместо двух наибольших резервных копий.
- Хранят все записи журнала и используют слишком много памяти при ограничении $N < 1\,000\,000$.
Источник: Открытый банк ФИПИ
Похожие задания
26Сервер выполняет запросы на передачу данных. Сведения о каждом выполненном запросе — время регистрации…Журнал сервера и резервные копии · 09681E26Сервер выполняет запросы на передачу данных, при этом сведения о каждом выполненном запросе (время…Журнал сервера и резервные копии · 1E4F5226Сервер выполняет запросы на передачу данных. Сведения о каждом запросе — время регистрации, идентификатор…Журнал сервера и резервные копии · 83B7FD26Сервер выполняет запросы на передачу данных. Сведения о каждом выполненном запросе — время регистрации…Журнал сервера и резервные копии · A4B35126Два игрока играют в следующую игру. Перед ними лежат две кучки камней, в первой из которых 3, а во второй — 2…Игровая стратегия с обоснованием · 02861826В магазине для упаковки подарков есть N кубических коробок из материалов двух видов. Одну коробку можно…Коробки и коржи: вложение с заданной разностью · 05BFA6
Нужен репетитор по информатике?
Посмотрите репетиторов, которые ведут занятия в Precettore, или оставьте заявку — подберём сами.
Готовьтесь к ЕГЭ по информатике в Precettore
Варианты с автопроверкой, домашние задания от репетитора, онлайн-доска и разбор ошибок — в одном кабинете. Регистрация бесплатная.