Летняя олимпиада юниоров 2026
Версия для печати

Правила олимпиады

Проведение олимпиады

Олимпиада проходит в трёх лигах:

  • 1-4 классы — младшая лига;
  • 5-6 классы — средняя лига;
  • 7-8 классы — старшая лига.

Олимпиада состоит из двух туров: дистанционного отборочного и очного финального (подробнее в правилах отбора). Правила одинаковы для всех туров.

Участник получает в свое распоряжение один компьютер, работающий под управлением операционной системы Windows.

Каждый тур состоит из пробного и основного соревнования. Во время пробного соревнования участникам будет предложено ознакомиться с тестирующей системой, рабочим местом и программным обеспечением олимпиады. Результаты пробного соревнования не учитываются при подведении итогов олимпиады.

Пробное соревнование отборочного тура проводится за несколько дней до основного соревнования и идет по тем же правилам, что и основное. На финальном туре пробное соревнование длится от 30 до 60 минут, в течение которых участникам будет предложено решить несколько простых задач, чтобы познакомиться с тестирующей системой. Во время пробного соревнования в аудитории может присутствовать учитель или тренер.

Основное соревнование длится три часа. Жюри имеет право продлить соревнование в случае непредвиденных обстоятельств.

Во время основного соревнования участникам предлагается для решения от 5 до 9 задач на русском языке.

Решения сдаются в автоматическую проверяющую систему на языках программирования: C++, С#, Pascal, Java и Python. Гарантируется, что у всех задач есть решение на языке Python. Через некоторое время после отправки решения участник узнает результат проверки. После окончания соревнования решения не принимаются.

Участники могут приносить с собой и использовать бумажную литературу (справочники, словари, листинги алгоритмов). Запрещается использование любых вычислительных устройств и средств хранения или передачи информации: портативных компьютеров, калькуляторов, электронных словарей, съёмных носителей, мобильных телефонов, любых наушников и других коммуникационных устройств.

Разрешается использовать любое программное обеспечение, установленное на компьютере участника.

Во время основного соревнования участники могут общаться только с членами технического комитета.

Вопросы по условиям задач можно задать жюри через соответствующее окно в проверяющей системе. Вопрос должен быть сформулирован на русском языке и предполагать ответ «Да» или «Нет». Жюри может ответить на поставленный вопрос «Да», «Нет», «Смотри условие задачи» или «Без комментариев», и принеобходимости разослать ответ на поставленный участником вопрос всем участникам олимпиады.

Участники могут быть дисквалифицированы за несоблюдение данных правил, а также за совершение действий, которые могут нарушить работу программного обеспечения олимпиады. За нарушение правил во время пробного соревнования участник может быть не допущен до участия в основном соревновании.

Проверка решений

Решением задачи является файл с исходным текстом программы, написанной на одном из разрешенных языков программирования. Разные задачи можно решать на различных языках программирования. Допустимый размер исходного текста одной программы с решением ограничен.

Входные данные подаются программе в стандартном потоке ввода. Программа должна выводить ответ в стандартный поток вывода.

В решениях задач запрещается:

  • работа с любыми файлами;
  • выполнение внешних программ и создание новых процессов;
  • работа с GUI-элементами (окнами, диалогами и т.д.);
  • работа с внешними устройствами (принтером, звуковой картой и т.д.);
  • использование сетевых средств.

Решение проверяется путем последовательного запуска на наборе тестов, который недоступен участникам и является одинаковым для всех. Тестирование производится автоматически, поэтому программы должны в точности соблюдать форматы входных и выходных данных, описанные в условии каждой задачи. Все входные данные предполагаются корректными и удовлетворяющими всем ограничениям, указанным в условии задачи. Набор тестов не предоставляется участникам даже после окончания олимпиады.

Для каждой задачи определены максимальное время выполнения, объем доступной памяти и максимальный размер выходных данных для одного теста. Программа участника проходит данный тест, если выдаёт для него верный ответ и укладывается в ограничения по времени, по памяти и по размеру выходных данных.

После отправки очередной задачи на проверку участник получает ответ с результатами её тестирования. Участник может посылать задачу на проверку такое количество раз, какое считает нужным (если только многократные посылки задачи на проверку не нарушают стабильной работы проверяющей системы — см. выше).

Система оценивания, определение победителя

Каждая задача может принести от 0 до 100 баллов. Эти баллы складываются из прохождения отдельных частей тестов – так называемых подгрупп. В условии задачи есть таблица «Система оценивания», где для каждой подгруппы указано:

  • дополнительные ограничения – это упрощённые условия на входные данные (если в этом столбце стоит прочерк, значит, действуют исходные ограничения задачи);
  • баллы – сколько баллов даёт эта подгруппа;
  • необходимые подгруппы – список других подгрупп, которые обязательно должны быть пройдены, прежде чем текущая будет засчитана.
Подгруппа засчитывается только если программа успешно проходит все тесты внутри неё и все указанные необходимые подгруппы тоже пройдены.
Участник не обязан проходить все подгруппы. Допускается выбрать лишь те, которые ему по силам, и получить баллы только за них – главное, чтобы решение корректно работало в рамках ограничений выбранных подгрупп и учитывало зависимости.
Общий результат участника – это сумма баллов, полученных за все задачи (каждая задача даёт свой вклад от 0 до 100).

Все участники сортируются по убыванию итогового балла – чем больше баллов, тем выше место. Если у двух или более участников баллы равны, то преимущество получает тот, у кого меньше штраф.
Штраф измеряется в штрафных секундах. Он складывается из двух частей:
  • За каждую задачу берётся первая посылка, которая принесла за эту задачу максимальный балл – такая посылка называется оцениваемой. Все посылки по этой задаче, отправленные до этой оцениваемой посылки, считаются «предыдущими». За каждую такую предыдущую посылку к штрафу прибавляется 20 минут (это 1200 штрафных секунд).
  • Кроме того, среди всех задач, по которым оцениваемая посылка существует, выбирается самая поздняя оцениваемая посылка по времени отправки (от начала соревнования). Это время (в секундах) также добавляется в общий штраф один раз – независимо от количества задач.

Во время тура участникам будет доступна таблица с текущими результатами. Все промежуточные результаты являются неофициальными. В последний час проведения тура результаты будут заморожены. Официальные результаты объявляются на закрытии соревнования.

Жюри имеет право дисквалифицировать участников олимпиады в следующих случаях:

  • Использование любых вычислительных устройств и средств хранения или передачи информации: съёмных носителей, мобильных телефонов, наушников, «умных часов» и других коммуникационных устройств.
  • Использование заимствований, нейросетей и любых инструментов автогенерации кода.
  • Использование участником олимпиады нескольких логинов, использование чужого логина, передача своего логина третьим лицам.
  • Попытки нарушения работы тестирующей системы.
  • Любые хулиганские действия.
  • Публикация решений задач в интернете.
  • Сдача чужого решения, даже если чужое решение было изменено или доработано.
  • Передача своего решения другим участникам, в том числе и непреднамеренная.

Решение о «похожести» решений принимается жюри. Жюри не принимает во внимание конкретный способ передачи информации между разными участниками и имеет право дисквалифицировать участников в случае одинакового решения.