Задание 26 ЕГЭ по информатике 2027: сортировка и обработка файла
Задание 26 ЕГЭ по информатике — обработка файла с целыми числами: данные сортируют, а потом выбирают или моделируют процесс по правилу из условия. В ответе два числа; за полностью верный ответ ставят 2 балла, за частично верный — 1.
- Что проверяет: Умение обрабатывать целочисленную информацию с использованием сортировки.
- Баллы: 2 первичных балла
- Формат ответа: два целых числа
- Программа: задание решают программой
- Уровень сложности: высокий
- Время: около 35 минут по спецификации
- Кодификатор: 3.10 — массивы и последовательности чисел: обобщённые характеристики, линейный поиск, сортировка; 2.12 — типовые алгоритмы обработки чисел, числовых последовательностей и массивов
Как решать
В первой строке файла обычно стоят параметры задачи — количество записей и ограничение: объём, время, число мест. Дальше идут записи, по одной в строке. Прочитайте их в список и отсортируйте: почти каждое решение задания 26 начинается с сортировки. В демоверсии 2027 года файл занимает около 300 КБ, и сортировка такого списка в Python идёт доли секунды.
Если нужно выбрать как можно больше элементов под общим ограничением, берите самые маленькие, пока они помещаются: сортировка по возрастанию и один проход. Второе число ответа часто уточняет выбор, например просит самый большой элемент, который можно взять без уменьшения количества. Его находят заменой: убирают наибольший из выбранных и ищут наибольший элемент, который помещается на освободившееся место (пример 1).
Если записи — события во времени (запросы, заявки, въезды), отсортируйте их по времени и промоделируйте процесс шаг за шагом: для каждого ресурса храните момент, когда он освободится, и на каждом событии проверяйте правило из условия (пример 2). Отдельно прочитайте, что происходит в граничный момент: свободен ли ресурс в ту же минуту, когда его вернули.
За задание ставят 2 балла, если оба числа верны и стоят на своих местах. Если числа перепутаны местами или верно только одно число на своём месте, ставят 1 балл.
Примеры с решением
Пример 1
На фестиваль подано N заявок на выступления, для каждой известна длительность в минутах. Общее время сцены — T минут, выступления идут одно за другим без перерывов. Организаторы хотят провести как можно больше выступлений, а из всех способов выбрать наибольшее количество — тот, в котором самое длинное выбранное выступление как можно длиннее. Определите максимальное количество выступлений и длительность самого длинного из них при таком выборе.
Входные данные. В первой строке файла — числа N и T, в каждой из следующих N строк — длительность одного выступления (натуральное число).
Файл данных: 26_ex1.txt — 801 строка, 2,7 КБ. Первые строки файла:
800 16000 139 86 162 177 17 26 15
Решение на Python
with open('26_ex1.txt') as f:
n, t = map(int, f.readline().split())
a = sorted(int(f.readline()) for _ in range(n))
# Больше всего выступлений — если брать самые короткие, пока хватает времени.
total = count = 0
while count < n and total + a[count] <= t:
total += a[count]
count += 1
# Самое длинное из выбранных заменяем на самое длинное, какое ещё помещается.
rest = total - a[count - 1]
longest = max(x for x in a[count - 1:] if rest + x <= t)
print(count, longest)Ответ: 328 112
После сортировки берём самые короткие выступления, пока они помещаются в T минут: их 328. Затем убираем самое длинное из выбранных, и освобождается время на одно выступление длиной до T минус сумма остальных 327. Самое длинное выступление, которое помещается в это время, длится 112 минут, и количество выступлений при замене не меняется.
Пример 2
Пункт проката выдаёт K велосипедов с номерами от 1 до K. За день поступило N заявок, для каждой известны минута начала и минута окончания аренды, считая от начала суток. Заявки обрабатываются в порядке времени начала, все времена начала различны. По заявке выдают свободный велосипед с наименьшим номером; велосипед свободен, если его вернули раньше минуты начала заявки. Если свободных велосипедов нет, заявку отклоняют. Определите количество отклонённых заявок и номер велосипеда, который выдали по последней удовлетворённой заявке.
Входные данные. В первой строке файла — числа N и K, в каждой из следующих N строк — минута начала и минута окончания одной заявки. Заявки в файле записаны не по порядку.
Файл данных: 26_ex2.txt — 901 строка, 7,8 КБ. Первые строки файла:
900 95 1205 1306 1060 1132 708 801 1207 1244 801 890 1238 1265 1001 1101
Решение на Python
with open('26_ex2.txt') as f:
n, k = map(int, f.readline().split())
requests = sorted(tuple(map(int, f.readline().split())) for _ in range(n))
busy_until = [-1] * k # минута, в которую велосипед вернут; -1 — ещё не выдавали
rejected = 0
last_bike = 0
for start, end in requests:
for i in range(k):
if busy_until[i] < start: # свободен: вернули раньше начала заявки
busy_until[i] = end
last_bike = i + 1
break
else:
rejected += 1
print(rejected, last_bike)Ответ: 51 23
Заявки сортируются по минуте начала: кортежи в Python сравниваются по первому элементу. Для каждого велосипеда хранится минута, когда его вернут, и заявка получает первый велосипед, у которого эта минута меньше начала заявки. Ветка else у цикла for выполняется, только если цикл дошёл до конца без break, то есть свободного велосипеда не нашлось.
Типичные ошибки
- Записи обработали в том порядке, в каком они стоят в файле, без сортировки.
- Не учли граничный момент: в примере 2 велосипед, который вернули в минуту начала заявки, ещё занят, а в другом условии он может считаться свободным.
- При замене искали только среди элементов после выбранных и пропустили случай, когда больше ничего не помещается и самым длинным остаётся убранный элемент.
- Числа в ответе записали в обратном порядке: за такой ответ ставят только 1 балл.
- Сумму или счётчик завели внутри цикла, и они обнуляются на каждом шаге.
Потренироваться на тренажёре
- Визуализатор сортировок: как работают алгоритмы сортировки
- Сортировки: задачи с проверкой
- Жадные алгоритмы
- Моделирование процессов
Частые вопросы
Сколько баллов дают за задание 26 ЕГЭ по информатике?
2 первичных балла за полностью верный ответ. Если числа перепутаны местами или верно только одно число на своём месте, ставят 1 балл.
Можно ли в задании 26 пользоваться встроенной сортировкой?
Да, на экзамене можно пользоваться встроенной сортировкой языка: в Python это функция sorted() и метод sort(). Сложность задания в другом — понять, по какому признаку сортировать и что делать после сортировки.
Как проверить решение задания 26 до запуска на файле?
Запустите программу на типовом примере из условия: для него ответ обычно разобран прямо в тексте задания. Если ответы совпали, запускайте программу на файле.
Официальные материалы
- Демоверсия, спецификация и кодификатор ЕГЭ 2027 по информатике (архив, проект)
- Открытый банк заданий ЕГЭ
Другие задания
Все задания и структура экзамена — на странице ЕГЭ по информатике. Соседние разборы: задание 25 и задание 27.
Описание задания сверено 28 сентября 2026 года со спецификацией 2027 года (документы 2027 года). Примеры составлены нами по структуре демоверсии, каждое решение запущено, и напечатанный им ответ совпадает с ответом на странице. Кодолимп не связан с разработчиками экзамена. Заметили неточность — напишите нам.