РУҚА
26

Шешімі: Обработка журнала сервера

ЕГЭ · Информатика · Тапсырма 26 · Массивтер және жолдар
ЖоғарыФИПИA4B351Қысқа жауап≈ 15 минутТалдау 5 қадам
Условие

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

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

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

В ответ запишите два числа: сначала идентификатор устройства, с которого был передан наибольший суммарный объём данных, не превышающий 150 000 Кбайт, а затем сумму объёмов двух наибольших резервных копий, выполненных не ранее 12:00:00.

Тапсырманы ашып, өзіңіз шешіңіз
Дальше ответЕгер әлі шешіп жатсаңыз – кеңестерден бастаңыз: олар жауапқа жетелейді, бірақ оны ашпайды.
К подсказкам

Шешім по шагам

5 қадам
1

Для каждого клиента накапливаем суммарный объём переданных данных в словаре.

2

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

$$V + S > K$$
3

Если время текущего запроса не ранее 12:00:00, добавляем объём созданной резервной копии в список. Затем устанавливаем текущий объём раздела равным нулю и помещаем в него очередной запрос.

4

После обработки всех строк среди сумм по клиентам выбираем наибольшую сумму, не превышающую 150 000 Кбайт.

Из списка резервных копий выбираем два максимальных значения и складываем их.

Жауап

Определяется по данным приложенного файла: идентификатор клиента и сумма двух крупнейших резервных копий.

Бұл жауап талдау нәтижесінде алынды, бірақ банктің ресми кілтімен тексерілген жоқ — проверьте выкладки, прежде чем заучивать результат.

Где здесь ошибаются

Учитывать в резервной копии объём текущего запроса, хотя она создаётся до его помещения в бөлім.

Считать резервную копию при условии $V + S \geq K$ вместо условия $V + S > K$.

Использовать время предыдущего запроса вместо времени запроса, вызвавшего переполнение.

Выбирать максимальную сумму клиента без ограничения 150 000 Кбайт.

Учитывать резервные копии, созданные до 12:00:00.

Закрепить приёмВ теме «Массивтер және жолдар» ещё 237 тапсырма — жауабымен және дәл осындай талдауымен.
Жаттығу

Тапсырманы қалай шешу керек 26 ЕГЭ, информатика

Бұл есептің талдауы келесіге бөлінген: 5 шагов: видно, откуда берётся каждое число и где теряется балл. Жауап есептеулердің жанында келтірілген, олардың орнына емес.

Задача из темы «Массивы и строки»: в ней 238 задач, и у каждой есть такой же разбор. Тіркеу қажет емес.