26 задание ЕГЭ информатика
Обработка данных с сортировкой
2 балла ≈ 35 мин уровень В
Задание 26 – файл с N объектами (файлы, грузы, продукты, места в зале). Нужно смоделировать процесс, где ключевую роль играет сортировка, и вывести два числа. 2 балла (1 балл, если одно число верно или числа переставлены).
Общий подход
- Перескажи правило своими словами и проверь его на примере из условия.
- Отсортируй данные так, как требует жадная стратегия (по возрастанию размеров, по времени, по паре ключей).
- Смоделируй процесс и выведи оба числа. Сверь программу с ответом примера.
Классика: максимум файлов на диске
f = open("26.txt")
S, N = map(int, f.readline().split())
a = sorted(int(x) for x in f)
cnt = total = 0
for x in a: # берём самые маленькие, пока влезают
if total + x > S:
break
total += x
cnt += 1
free = S - (total - a[cnt - 1]) # место, если убрать последний взятый
best = max(x for x in a[cnt - 1:] if x <= free)
print(cnt, best) # количество и максимальный последний файл
Рейтинг по событиям (как в демоверсии 2026). Все 2N чисел сортируются; минимальное число «первого типа» ставит объект в начало списка, «второго типа» – в конец; уже размещённые объекты пропускаются.
f = open("26.txt")
n = int(f.readline())
ev = []
for i in range(1, n + 1):
s, g = map(int, f.readline().split())
ev.append((s, i, "s"))
ev.append((g, i, "g"))
ev.sort()
place = {}
left, right = 1, n
last = 0
for val, i, kind in ev:
if i in place:
continue
if kind == "s":
place[i] = left
left += 1
else:
place[i] = right
right -= 1
last = i
print(last, n - place[last]) # последний размещённый и сколько ниже него
Разобранный пример. Продукты: 1 (30, 50), 2 (100, 155), 3 (150, 170), 4 (10, 160), 5 (120, 55). Сортировка: 10 (хранение, 4) → место 1; 30 (хранение, 1) → место 2; 50 – продукт 1 уже размещён; 55 (годность, 5) → место 5; 100 (хранение, 2) → место 3; 120 – пропуск; 150 (хранение, 3) → место 4. Рейтинг 4, 1, 2, 3, 5; последний – продукт 3, ниже него один продукт. Программа выводит «3 1».
- Всегда проверяй программу на примере из условия – там есть готовый ответ.
- Сортировка кортежей в Python идёт по первому элементу, при равенстве – по второму: этим удобно задавать порядок.
- Записывай два числа в том порядке, который указан в задании.
Разобранные задания 26 из открытого банка ФИПИ
Пример 1 · код ФИПИ A99635
| ||||
Показать ответ и решение
Ответ: 389 133
Заявки сортируем по времени прихода; ячейка свободна, если время её освобождения строго меньше времени прихода; берём свободную с минимальным номером.
Ответ: 389 и 133.
Пример 2 · код ФИПИ 05BFA6
| ||||
Показать ответ и решение
Ответ: 166 63
Динамика по размерам от больших к меньшим: g(коробка) = 1 + лучшая цепочка снаружи из коробки другого материала со стороной ≥ s + D (суффиксные максимумы по каждому материалу).
Максимум 166 коробок, наибольшая сторона самой маленькой – 63.
Пример 3 · код ФИПИ A9339F
| ||||
Показать ответ и решение
Ответ: 32 15
Сортируем мероприятия по окончанию; f[i] – наибольшее число мероприятий в цепочке, оканчивающейся мероприятием i. Максимум 32; наибольший перерыв между двумя последними – 15 мин.
Ответ: 32 и 15.
Частые вопросы о задании 26
Сколько баллов даёт задание 26 ЕГЭ по информатике?
Максимум – 2 первичных балла. Норма времени на экзамене – около 35 мин. Уровень сложности – В.
Что проверяет задание 26?
Задание 26 – файл с N объектами (файлы, грузы, продукты, места в зале). Нужно смоделировать процесс, где ключевую роль играет сортировка, и вывести два числа. 2 балла (1 балл, если одно число верно или числа переставлены).
Как подготовиться к заданию 26?
Прочитайте теорию выше: алгоритм, нужные факты и ловушки. Затем решите подход из 10 заданий с автопроверкой и разбором – первые без регистрации – и вернитесь к ошибкам. В пробниках Сотки номер встречается в полных вариантах ФИПИ с подсчётом баллов.


