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

Задание 26. Информатика. ЕГЭ 2026. Статград. 14.04.2026

Просмотры: 855
Изменено: 16 апреля 2026

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

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

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

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

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

\(6\)
\(43 \,\, 1\)
\(41 \,\, 0\)
\(39 \,\, 0\)
\(38 \,\, 1\)
\(26 \,\, 0\)
\(24 \,\, 1\)

Пример входного файла приведён для шести коробок.

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

Решение:

Python


fd = open('/home/alexei/EGE/build/2026/sg/20260414/26.txt')
N = int(fd.readline())

m = [[], []] # список списков коробок из разных материалов

for line in fd:
	edge, mat = map(int, line.split())
	m[mat].append(edge)

m[0].sort()
m[1].sort()
ml = [len(m[0]), len(m[1])] # кол-во коробок 0 и 1 материалов
kmax = 0
last_edge = float('inf')

for t in (0, 1):
	curr = t # текущий материал коробок
	pt = [0, 0] # указатели на коробки
	pack = [m[curr][pt[curr]]] # список длин рёбер коробок в упаковке
	k = 1
	while pt[0] < ml[0] and pt[1] < ml[1]:
		curr = (curr + 1) % 2
		while pt[curr] < ml[curr] and m[curr][pt[curr]] - pack[-1] < 2000 + k:
			pt[curr] += 1
		if pt[curr] < ml[curr]:
			pack.append(m[curr][pt[curr]])
			k += 1
			if kmax < k:
				kmax = k
				last_edge = pack[-1]
			elif kmax == k:
				last_edge = min(last_edge, pack[-1])

print(kmax, last_edge)

Ответ: \(2785 \,\, 9995678\)

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

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

Новое видео
Методы решения задания 16 ЕГЭ по Информатике «Вычисление рекуррентных выражений»
Поддержать автора сайта!
​ Поддержите автора сайта, если материалы, размещённые здесь, оказались вам полезны.
Расписание пробников Статграда в 2026/27 учебном году
Информатика ОГЭ 9 класс
  1. 13 октября 2026 года
  2. 3 декабря 2026 года
  3. 21 января 2027 года
  4. 19 февраля 2027 года
  5. 23 марта 2027 года
  6. 27 апреля 2027 года
Математика ОГЭ 9 класс
  1. 23 сентября 2026 года
  2. 1 декабря 2026 года
  3. 22 января 2027 года
  4. 3 марта 2027 года
  5. 14 апреля 2027 года
Физика ОГЭ 9 класс
  1. 19 октября 2026 года
  2. 10 декабря 2026 года
  3. 29 января 2027 года
  4. 17 марта 2027 года
  5. 22 апреля 2027 года
Математика ЕГЭ 10 класс
  1. 3 февраля 2027 года
  2. 11 мая 2027 года
Информатика ЕГЭ 11 класс
  1. 22 октября 2026 года
  2. 15 декабря 2026 года
  3. 26 января 2027 года
  4. 2 марта 2027 года
  5. 13 апреля 2027 года
Математика ЕГЭ 11 класс
  1. 30 сентября 2026 года
  2. 17 декабря 2026 года
  3. 9 февраля 2027 года
  4. 16 марта 2027 года
  5. 21 апреля 2027 года
Физика ЕГЭ 11 класс
  1. 14 октября 2026 года
  2. 16 декабря 2026 года
  3. 4 февраля 2027 года
  4. 12 марта 2027 года
  5. 9 апреля 2027 года