РУҚА
26

Решение: Коробки-матрёшки двух материалов

ЕГЭ · Информатика · Задание 26 · Массивы и строки
ВысокаяФИПИ05BFA6Короткий ответ≈ 10 минутРазбор в 5 шагов
Условие

В магазине для упаковки подарков есть $N$ кубических коробок из материалов двух видов. Одну коробку можно поместить в другую, если длина её стороны хотя бы на $D$ единиц меньше длины стороны другой коробки, при этом любые две соседние коробки сделаны из разных материалов. Известны длины сторон и материалы коробок, имеющихся в наличии. Определите наибольшее количество коробок, которое можно использовать для упаковки одного подарка и максимально возможную длину стороны самой маленькой из этих коробок. Размер подарка позволяет поместить его в самую маленькую коробку.

Во входном файле сначала заданы $N$ и $D$, затем для каждой коробки указаны длина стороны и материал — $0$ или $1$. В ответ запишите два числа: сначала максимальное количество коробок, затем максимально возможную длину стороны самой маленькой коробки. Для решения необходимы данные из прилагаемого входного файла.

Открыть задачу и решить самому
Дальше ответЕсли ещё решаете — начните с подсказок: они ведут к ответу, но не выдают его.
К подсказкам

Решение по шагам

5 шагов
1

Запишем каждую коробку как пару: длина стороны и материал. Отсортируем коробки по длине стороны.

2

Для коробки длины $x$ и материала $c$ допустимым предшественником является коробка материала $1-c$ с длиной не более $x-D$.

3

Для каждой группы коробок, проходя массив слева направо, найдём лучшие значения для обоих материалов среди ранее обработанных коробок. Чтобы не использовать коробку раньше времени, сначала вычислим значения для текущей группы, а затем добавим её в структуру лучших результатов.

4

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

В конце выбираем цепочку с наибольшим количеством коробок. Если таких цепочек несколько, выбираем ту, у которой длина самой маленькой коробки максимальна.

Ответ

Точный ответ невозможно вычислить без содержимого прилагаемого входного файла.

Этот ответ получен в разборе, но не сверен с официальным ключом из банка — проверьте выкладки, прежде чем заучивать результат.

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

Не учитывать обязательное чередование материалов.

Проверять разность длин как строго больше $D$, хотя требуется не менее $D$.

Разрешать использовать коробки с одинаковой длиной, если условие $D=0$ не выполнено.

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

Закрепить приёмВ теме «Массивы и строки» ещё 237 задач — с ответом и таким же разбором.
Тренироваться

Как решать задание 26 ЕГЭ, информатика

Разбор этой задачи разложен на 5 шагов: видно, откуда берётся каждое число и где теряется балл. Ответ приведён рядом с выкладками, а не вместо них.

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