В этом году отбор на олимпиаду будет осуществляться по одному длинному туру. В соответствии с графиком проведения, длинный тур отборочного этапа олимпиады проводится с 1 декабря 2024 года по 15 января 2025 года.
В отборочном этапе олимпиады могут принять участие все желающие. Участие в олимпиаде бесплатное. Заявкой на участие в олимпиаде является регистрация участника олимпиады на сайте и заполнение регистрационной формы. При регистрации участник олимпиады должен указать свои точные данные. Каждый участник может использовать только один логин в тестирующую систему.
В конкурсном отборе на заключительный этап могут могут принимать участие только учащиеся школ на момент 1 сентября 2024 года. Остальные участники могут принять участие в длинном туре вне конкурса. По результатам длинного тура от 300 до 600 участников конкурсного отбора будут приглашены на заключительный этап. Критерии отбора будут опубликованы после окончания длинного тура. Критерии могут отличаться для участников из разных стран и разных классов.
Итоговый балл участника определяется, как сумма баллов, набранных последним сданным решением по каждой задаче. Количество сданных решений по каждой задаче не учитывается и не влияет на итоговый балл. На основании итоговых баллов жюри определяет минимальный балл призера отборочного этапа, отдельно для каждого класса. Участники, набравшие не меньше баллов, чем установленный минимальный балл призера в данном классе, объявляются призерами отборочного этапа и приглашаются на заключительный этап олимпиады.
На отборочном этапе участникам олимпиады предлагается 9 задач в одном длинном туре. Жюри может вносить изменения в условия задач и систему оценивания, добавлять и изменять тесты, проводить повторное тестирование решений. Итоговым результатом участника на отборочном этапе является сумма его баллов по всем задачам.
Решением каждой задачи является исходный код программы на одном из установленных языков программирования (список компиляторов и опций компиляции доступен в тестирующей системе). Задачи могут быть трех видов:
Стандартные задачи. Для таких задач участнику необходимо сдать программу на одном из установленных языков программирования. Программа должна читать данные со стандартного ввода, выводить результат на стандартный вывод, либо читать данные из файла input.txt
и выводить результат в файл output.txt
. Программа должна соблюдать требования формата входных и выходных данных.
Интерактивные задачи. Для таких задач участнику необходимо сдать программу на одном из установленных языков программирования. Программа участника взаимодействует с программой жюри, вводя данные со стандартного ввода и выводя данные на стандартный вывод. В процессе работы программы может быть несколько этапов ввода или вывода данных. На каждом этапе данные, переданные программе могут зависеть от вывода программы участника на предыдущих этапах. Программа должна соблюдать требования формата взаимодействия, описанного в условии задачи.
Задачи с грейдером. В таких задачах участнику необходимо написать код с реализацией одной или нескольких функций, решающих задачу. Эти функции будут скомпилированы вместе с программой жюри (грейдером) и они будут вызываться из грейдера. Функции должны удовлетворять требованиям, указанным в условии задачи. Во время выполнения функций программа не может считывать или выводить данные на стандартный поток или в произвольные файлы. В задачах с грейдером может быть ограничено число языков программирования, на которых участник может реализовать решение.
Программы проверяются при помощи автоматической тестирующей системы на фиксированном наборе тестов. Программа должна удовлетворять ограничениям по времени работы и использованной памяти.
Каждая задача оценивается в 100 баллов. Баллы начисляются в зависимости от пройденных тестов. При этом сразу после сдачи задачи на проверку участник может получать результат проверки только на части тестов, результат проверки на остальных тестах становится известен только после окончания отборочного этапа олимпиады. Точные правила проверки и оценивания указаны в условиях задач. При тестировании решений тесты, результат которых не влияет на балл по задаче, могут быть пропущены.
Эталонные решения заданий олимпиады написаны на языке C++. Жюри не гарантирует, что задания могут быть полностью выполнены (на максимальный балл) с использованием других языков программирования.
Вопросы по условиям задач и их проверке участники задают через тестирующую систему при помощи отправки сообщения жюри.
Каждый участник может сдать во время тура не более 500 решений, размер одного решения не должен превышать 64 KiB, суммарный размер всех сданных решений не должен превышать 10 MiB. Исходный код решений в тестирующей системе будет не доступен для просмотра.
Все задания должны быть выполнены самостоятельно. Запрещается публиковать решения задач в сети интернет, передавать их другим участникам олимпиады. Участники олимпиады должны предпринимать разумные меры по обеспечению сохранности своих решений (например, не следует сохранять решения на компьютерах в каталогах, доступных другим пользователям).
Жюри имеет право дисквалифицировать участников олимпиады или аннулировать им баллы по отдельным задачам в следующих случаях:
Решение о “похожести” решений принимается жюри. Жюри имеет право дисквалифицировать участника, даже если его решение было без его ведома получено и сдано другим участником.