Правила

1. Условия

В конкурсе могут участвовать школьники, студенты и аспиранты, которым уже исполнилось 14 лет. Они должны быть допущены к соревнованиям ICPC в 2019-2020 гг. или позже и участвовать в соревнованиях Northern Eurasia Regional Contests. Если человек не соответствует этим требованиям, он может участвовать в соревнованиях вне конкурса. Точные требования к участникам описаны в Положении о конкурсе. Соревнования командные, в команде может быть до пяти человек. В каждом отдельном зачётном соревновании участвует не более трёх человек от команды. Результаты внеконкурсных участников не засчитываются, но отображаются в таблице текущих и итоговых результатов.

2. Регистрация

Для участия в конкурсе необходимо зарегистрироваться. Участник, указавший при регистрации заведомо ложные сведения, может быть дисквалифицирован. Регистрация открыта с 8 сентября 2019 года в 0:00 по московскому времени (UTC+3) и продлится до конца конкурса. Зарегистрироваться можно по ссылке: https://contest.yandex.ru/opencup/register/

Для участия в спонсорском зачете представителю команды необходимо зарегистрировать команду до старта стадии, в которой команда примет участие. Если тренер не зарегистрировал команду, а команда вошла в число победителей - приз не выплачивается.

3. Система оценки зачетных соревнований: ACM ICPC

Проведение конкурса

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

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

Участник отправляет свои решения для проверки по мере готовности. После этого он может продолжать работу над другими задачами. Результаты проверки посланного решения (попытки) будут доступны участнику сразу после проверки: ему сообщается, зачтено решение или нет. Если решение не зачтено, сообщается тип ошибки и (если это предусмотрено правилами) номер первого теста, на котором произошла ошибка.

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

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

Подсчёт промежуточных и окончательных результатов

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

Суммарное время решения определяется как сумма времени решения плюс штраф в 20 минут за каждую неверную попытку для каждой принятой задачи.

Задачи, не признанные решёнными к моменту окончания зачётного соревнования, не учитываются при расчёте суммарного времени. Штрафные минуты за них также не начисляются.

В таблице текущих результатов для каждого участника отмечаются решённые задачи, количество неверных попыток по каждой задаче, общее количество решённых задач и суммарное время решения. Правильные решения обозначены знаком +, после которого следует количество забракованных решений. Если задача сдана с третьей попытки, то в таблице будет стоять +2, если сразу — +. Непринятые задачи обозначаются знаком −, после которого следует количество попыток.

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

4. Структура конкурса: гран-при 30

Конкурс включает четыре стадии. Каждая стадия состоит из нескольких зачётных соревнований (не более 6). Начать участвовать в конкурсе можно с любого зачётного соревнования. Время начала соревнований указывается московское (UTC+3). Точные даты проведения каждой стадии будут опубликованы не менее чем за 1 календарный месяц до старта стадии на сайте Конкурса по ссылке: http://opencup.ru/index.cgi?data=newstape&menu=index&head=index&ncup=ock&class=ock , а также: https://contest.yandex.ru/opencup/news/.

На каждой стадии проводится нескольких зачётных соревнований продолжительностью от 4 до 6 часов. В рамках одной стадии каждое зачётное соревнование оценивается отдельно по системе «гран-при 30»: тридцать лучших участников зачётного соревнования получают очки в соответствии с приведённой ниже таблицей.

Место 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Очки 100 75 60 50 45 40 36 32 29 26 24 22 20 18 16
Место 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
Очки 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1

Если несколько участников имеют равный результат, зачётные очки делятся между ними поровну.

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

Результатом стадии являются: сумма зачётных очков, количество решённых задач и суммарное штрафное время за все зачётные соревнования стадии.

Участник располагается выше в итоговой таблице стадии, если имеет:

  1. больше зачётных очков;

  2. больше решённых задач при равенстве зачётных очков;

  3. меньше штрафного времени при равенстве зачётных очков и одинаковом количестве решенных задач.

Победителями называются лучшие 10 команд по результатам первой, второй, третьей и четвертой стадий.

Организатор оставляет за собой право выбрать дополнительных победителей в случае, если кто-либо из уже отобранных отказывается от приза. Дополнительные победители выбираются на основе результата стадии.

5. Призы

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

После оглашения результатов Конкурса, c представителями команд, которые заняли с 1 по 10 место связывается представитель организатора Конкурса и подтверждает получение приза, отправляет для заполнения форму Заявки на получение приза. Также Организатор связывается с тренерами команд, которые заняли с 11 до 15 место и включает их в Лист ожидания. В случае, если кто-то из победителей Конкурса отказывается от Приза, то организатор обращается к Листу ожидания и предлагает получить приз команде занявшей 11 место (и так до 15 места в случае отказа предыдущего).

Для получения приза представителю команды необходимо заполнить Заявку по следующей ссылке https://forms.yandex.ru/surveys/10015036/.
Напоминаем, что заявка на получение приза должна быть отправлена в течение 14 рабочих дней после оглашения результатов Стадии. Заявки, которые будут отправлены после указанного срока подачи не будут действительны. При подаче заявки также нужно учитывать, что до старта выбранного мероприятия должно быть не менее 14 дней. В индивидуальных случаях Организатор оставляет за собой право вручения приза командам. Также Организатор Конкурса оставляет за собой право выбрать дополнительного победителя.

Подробнее о призах и условиях их предоставления можно узнать в ст.10 и ст. 11 Положения о конкурсе.