ALEXMATH

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

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

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

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

Задание 26. Информатика. ЕГЭ-2022. 1 вариант

Просмотры: 1955
Изменено: 1 февраля 2025

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

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

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

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

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

Файл с данными

Решение:

Python


file_name = open('26-1.txt')
nums_count = int(file_name.readline())
nums = list(map(int, file_name.readlines()))

nums.sort(reverse=True)
box_count = 1
last_box = 0
last_size = nums[0]

for idx in range(1, nums_count):
    if nums[last_box] - nums[idx] > 2:
        last_box = idx
        last_size = nums[idx]
        box_count += 1

print(box_count, last_size)

Ответ: \(2767\)    \(51\)

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

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

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

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

Новое видео

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

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

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

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

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