Правила

1. Условия

В конкурсе могут участвовать студенты и аспиранты, которым уже исполнилось 18 лет. Они должны быть допущены к соревнованиям ACM ICPC в 2017-2018 гг. и участвовать в соревнованиях регионального финала Северо-Восточного европейского региона. Если человек не соответствует этим требованиям, он может участвовать в соревнованиях вне конкурса. Точные требования к участникам описаны в Положении о конкурсе.

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

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

Для участия в конкурсе необходимо зарегистрироваться. Участник, указавший при регистрации заведомо ложные сведения, может быть дисквалифицирован. Регистрация открыта с 10 октября 2017 года в 0:00 по московскому времени (UTC+3) и продлится до конца конкурса.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Конкурс включает четыре стадии и состоит из двенадцати зачётных соревнований. Начать участвовать в конкурсе можно с любого зачётного соревнования. Время начала соревнований указывается московское (UTC+3).

Стадии конкурса

Первая стадия: с 1 сентября по 31 октября 2017 года;

Вторая стадия: с 1 ноября по 15 декабря 2017 года;

Третья стадия: с 15 декабря 2017 года по 1 марта 2018 года;

Четвёртая стадия: с 1 марта по 1 мая 2018 года;

На каждой стадии проводится нескольких зачётных соревнований продолжительностью от 4 до 5 часов. В рамках одной стадии каждое зачётное соревнование оценивается отдельно по системе «гран-при 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 команд по результатам первой, второй или четвертой стадии;

• лучшие 7 команд по результатам третьей стадии.

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

5. Призы

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