ALEXMATH

Информатика. ЕГЭ

Задания для подготовки

Задачи разных лет из реальных экзаменов, демо-вариантов, сборников задач и других источников

Перейти к заданиям

Задание 26. Информатика. ЕГЭ. Досрочный экзамен. 08.04.2025

Просмотры: 1646
Изменено: 8 апреля 2025

В магазине для упаковки подарков есть \(N\) кубических коробок. Самой интересной считается упаковка подарка по принципу матрёшки — подарок упаковывается в одну из коробок, та в свою очередь в другую коробку и т.д. Одну коробку можно поместить в другую, если длина её стороны меньше длины стороны другой коробки не менее чем на \(9\) единиц. Определите наибольшее количество коробок, которое можно использовать для упаковки одного подарка, и максимально возможную длину стороны самой маленькой коробки, где будет находиться подарок. Размер подарка позволяет поместить его в самую маленькую коробку.

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

В первой строке входного файла находится число \(N\) — количество коробок в магазине (натуральное число, не превышающее \(10~000).\) В следующих \(N\) строках находятся значения длин сторон коробок (все числа натуральные, не превышающие \(10~000),\) каждое — в отдельной строке.

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

Типовой пример организации данных во входном файле

\(5\)
\(43\)
\(40\)
\(32\)
\(40\)
\(30\)

Пример входного файла приведён для пяти коробок и случая, когда минимальная допустимая разница между длинами сторон коробок, подходящих для упаковки «матрёшкой», не менее \(3\) единиц. При таких исходных данных условию задачи удовлетворяют наборы коробок с длинами сторон \(30,\) \(40\) и \(43\) или \(32,\) \(40\) и \(43\) соответственно, т.е. количество коробок равно \(3,\) а длина стороны самой маленькой коробки равна \(32.\)

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

Решение:

Python


base = ''
fd = open(base + '26.txt')
N = int(fd.readline())
boxes = set()
for line in fd:
    boxes.add(int(line))
edges = sorted(list(boxes), reverse=True)
q = 1
cur_len = edges[0]
for p in range(1, len(edges)):
    if cur_len - edges[p] > 8:
        q += 1
        cur_len = edges[p]
print(q, cur_len)

Ответ: \(1040 \,\, 57\)

Обсуждение задания

Здесь пока нет ни одного комментария. Будьте первым!

kege1
kege2
kege3
Новый тренажёр-эмулятор
Станции КЕГЭ

Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене.

Новое видео

Методы решения задания 16 ЕГЭ по Информатике «Вычисление рекуррентных выражений»

Поддержать автора сайта!

Поддержите автора сайта, если материалы, размещённые здесь, оказались вам полезны.

Совершая донат, вы соглашаетесь с Условиями использования

Расписание пробников Статграда в 2026/27 учебном году