Задание 27 не гений придумал: как перестать его бояться
Почему самое страшное задание КЕГЭ устроено предсказуемо, чем отличаются два прилагаемых файла и какой минимум приёмов позволяет взять хотя бы часть баллов.

Содержание
Откуда берётся страх и насколько он оправдан
Двадцать седьмое задание обросло репутацией непроходимого ещё до того, как большинство школьников его открывало. Про него говорят как про фильтр для избранных, и в результате огромная часть ребят пролистывает его на экзамене, даже не прочитав условие. Страх тут сильнее реальной сложности — и стоит он конкретных баллов.
Давай честно про цену вопроса: задания 26 и 27 стоят по два первичных балла, остальные — по одному. Это значит, что 27 не решает судьбу экзамена в одиночку. Если у тебя проседает первая часть, идти сражаться с последним номером — плохая инвестиция времени. Но если база уже стабильна, эти баллы становятся тем самым рывком на верхних участках шкалы.
Важно ещё вот что: задание разделено на два файла, A и B. Файл A маленький, и его можно обработать самым прямолинейным перебором. Файл B большой, и там прямой перебор просто не досчитает за отведённое время. То есть задание изначально спроектировано так, чтобы у тебя был вход попроще.
Файл A как отдельная цель
Многие не понимают, что можно осмысленно бороться только за файл A. Ты пишешь честный перебор в лоб, без всякой оптимизации, получаешь число и вводишь его в ответ. Да, полный балл за это не дадут, но и не ноль. Психологически это огромная разница: вместо «я не решил 27» получается «я взял, что мог».
Прямолинейное решение для файла A обычно пишется за десять-пятнадцать минут, если ты хоть немного отработал переборы. Никаких хитростей: два вложенных цикла, проверка условия, обновление максимума или суммы. Это ровно тот уровень программирования, который нужен и в более простых номерах варианта.
Поэтому первый этап освоения 27 — научиться быстро и без ошибок писать наивное решение. Не думай про оптимизацию вообще. Когда наивный вариант стабильно получается за четверть часа, у тебя появляется прочная опора, с которой уже не страшно смотреть на файл B.
Файл B: почему перебор не проходит и что с этим делать
В файле B данных на порядки больше — количество пар может доходить до сотни тысяч. Алгоритм, который проверяет все возможные комбинации, при таком объёме работает недопустимо долго: программа просто не завершится за экзаменационное время. Условие обычно прямо предупреждает, что переборный алгоритм здесь не годится.
Идея эффективного решения почти всегда одна и та же: обработать данные за один проход, сохраняя по дороге нужную информацию. Вместо того чтобы для каждого элемента заново просматривать все остальные, ты запоминаешь лучшее из уже увиденного и на каждом шаге обновляешь ответ. Это превращает квадратичное решение в линейное.
Вариант той же идеи — два прохода по данным. На первом ты собираешь статистику: например, сколько раз что встречается или какие значения бывают. На втором проходе, уже зная общую картину, считаешь итог. Приём выглядит хитро только первые два раза, а дальше становится узнаваемым паттерном.
План освоения на несколько месяцев
Сначала — базовый навык. Убедись, что уверенно читаешь txt-файл, разбираешь строки на числа и пишешь вложенные циклы без опечаток. Пока это буксует, лезть в оптимизацию бессмысленно: ты будешь ошибаться на технике, а не на идее. Этот этап занимает пару недель регулярных занятий.
Дальше — накопление паттернов. Разбери десяток задач 27 разных типов и для каждой выпиши словами, в чём была идея эффективного решения. Не код, а именно идею в одном-двух предложениях. Через десять задач ты обнаружишь, что типов на самом деле не так много, и они повторяются из года в год с косметическими изменениями.
И наконец — режим экзамена. Решай 27 с таймером, отводя на неё не больше сорока-пятидесяти минут, и обязательно с промежуточным шагом: сначала файл A, потом попытка ускорить. Такая дисциплина гарантирует, что даже в плохом сценарии ты выйдешь из задания не с пустыми руками.

























