Создание и проведение соревнования
Соревнование состоит из следующих этапов:
-
Создание задач. См. наши примеры.
-
Создание и настройка соревнования. После добавления соревнования для него создается набор задач. Задачи можно добавить в этот набор или привязать существующий набор задач к соревнованию.
-
Регистрация участников. Регистрация может начаться до начала соревнования. Участники регистрируются сами или их регистрирует автор соревнования.
-
Выполнение задач участниками. Автор соревнования указывает в настройках дату и время начала соревнования и время на решение задач.
-
Завершение и подведение итогов. Соревнование заканчивается, когда последний участник завершает участие в указанное время.
Итоги подводятся с помощью монитора — таблицы результатов — или через выгрузку результатов в виде CSV-таблицы.
-
Дорешивание и тренировки. Этот этап необязательный. Если участникам разрешено дорешивание, они смогут отправлять посылки (решения) после окончания соревнования. Система проверит такие посылки и выставит вердикт, но в таблице результатов эти посылки учитываться не будут.
Создать соревнование
- На вкладке Соревнования нажмите кнопку Добавить соревнование.
- Придумайте название и нажмите Создать. Откроется страница настроек соревнования.
По умолчанию соревнование создается со стандартным набором настроек, но их можно поменять.
Подробнее о настройках соревнования см. в Справочнике.
Общее
Выберите способ регистрации участников и определите дату и время проведения соревнования.
Регистрация
Способ регистрации участников:
- Открытая регистрация — участники регистрируются самостоятельно с помощью своих аккаунтов на Яндексе.
- Закрытая регистрация — участников регистрирует администратор, указывая логины их аккаунтов на Яндексе или логины внутренних пользователей системы.
- По завершении сделать тренировкой — во время соревнования регистрация закрытая, а после окончания становится открытой.
В режиме тренировки участники могут самостоятельно регистрироваться и выполнять задачи, но не в рамках зачета. То есть они смогут отправлять посылки и получать вердикты, но их результаты не попадут в итоговую таблицу
Участие командами
Разрешается ли участвовать и получать очки за решение задач командами. Пользователи могут объединяться в команды сами.
Время старта участников
Время, когда участники смогут начать решать задачи соревнования. Часовой пояс берется из настроек пользователя.
-
Фиксированное — все участники начинают и заканчивают выполнять задачи в одно и то же время.
Выберите дату в календаре и укажите время начала соревнования. Участники увидят таймер обратного отсчета. Когда наступит Время старта участников + Время на выполнение задач, соревнование завершится для стартовавших участников и будет недоступно для тех, кто еще не стартовал.
-
Интервал — пользователи начинают выполнять задания в разное время, например, если находятся в разных часовых поясах или им выдано домашнее задание.
Выберите дату в календаре и укажите время, когда участники могут начать решать задачи.
Даже если участники начнут решение задач в конце указанного интервала, у них всегда будет столько времени, сколько указано в поле Время на выполнение задач.
Время на выполнение задач
Выберите опцию До заданного времени, чтобы указать определенное количество дней, часов, минут и секунд на решение задач, или Не ограничено, если это не важно.
Отсчет времени начнется со старта соревнования, если вы выбрали фиксированное время старта, или со старта участника, если выбрали интервальный старт.
Индивидуальный старт
Внимание
Только для соревнований с интервальным стартом, при фиксированном — не будет учитываться.
Разрешить участникам самим запустить соревнование. Если опция включена, участники, у которых не указано время старта, увидят кнопку Стартовать виртуальное соревнование. Чтобы задать время старта, укажите его в разделе Доступ и участники.
Дорешивание
Могут ли участники дорешивать задачи соревнования вне зачета:
-
Разрешено — участники могут продолжать отправлять решения после завершения соревнования, но эти решения не будут учитываться в общей статистике.
Пример:
Время старта соревнования — интервал c 10:00 до 15:00, время на решение задач 1 час. Участник стартовал в 11:00 и закончил в 12:00.
После 12:00 участник сможет дорешивать задачи, но результаты не будут учитываться в общем зачете.
-
Разрешено, после окончания времени старта — после окончания времени на решение задач отправка ответов будет заблокирована. Участники могут дорешивать задачи после окончания временного промежутка, отведенного для старта соревнования, но результаты не будут учитываться в общей статистике.
Пример:
Время старта соревнования — интервал c 10:00 до 15:00, время на решение задач 1 час. Участник стартовал в 11:00 и закончил в 12:00.
После 15:00 участник сможет дорешивать задачи, но результаты не будут учитываться в общем зачете.
Внимание
Эта настройка для соревнований с интервальным стартом.
-
Запрещено — после завершения соревнования участники больше не смогут отправлять решения.
Подробнее о настройке времени старта участника см. в разделе Доступ и участники.
Внимание
Все решения, отправленные после завершения времени участия, не попадут в зачет и итоговую таблицу результатов, даже если отправка решения опоздала на несколько секунд.
Пример 1.
Преподаватель в школе хочет дать ученикам одного класса контрольную работу, которую ученики должны выполнить в течение урока с 8:30 до 9:15. Преподаватель уже создал внутренних пользователей в системе и добавил их в качестве участников соревнования. Чтобы настроить соревнование, нужно:
1. В поле Время старта участников выбрать Фиксированное.
2. В календаре выбрать нужную дату и время начала: 8:30.
3. В поле Время на выполнение задач выбрать опцию До заданного времени и указать 0 дней, 00:45:00. Время можно увеличить, чтобы ученики после окончания урока успели отправить решения.
Пример 2.
Преподаватель университета дает домашнюю проверочную работу студентам. Работа рассчитана на два часа, но каждый студент может самостоятельно подготовиться и выполнить задание до начала следующего семинара — через неделю. Чтобы настроить соревнование, нужно:
1. В поле Время старта участников выбрать Интервал.
2. В календаре выбрать от — дата текущего семинара.
3. Выбрать опцию До заданного времени и указать дату следующего семинара.
4. В поле Время на выполнение задач выбрать опцию До заданного времени и указать 0 дней, 00:120:00.
5. Проверить, что опция Индивидуальный старт включена.
Посылки
Настройте ограничения для отправки посылок. Если посылка участника не проходит по любому из указанных условий, участник не сможет ее отправить. Для типовых задач настроек по умолчанию достаточно.
Максимальное количество попыток
Укажите, сколько раз в рамках соревнования участник сможет отправить решения одной и той же задачи. Если нужно, чтобы определенные вердикты системы не расходовали попытки пользователя, перечислите их в поле Исключить вердикты.
Посылки с идентичным кодом
Включите эту опцию, чтобы пользователь не мог отправить два одинаковых решения подряд: например, если случайно дважды нажмет кнопку Отправить. Вместо повторной отправки пользователь увидит сообщение, что уже отправлял такое решение, а дополнительная попытка не потратится.
Подробнее см. в разделе Посылки.
Пример.
Преподаватель в школе проводит контрольную работу, которая состоит из простых тестов с выбором ответа и вопросов с вводом текста. Каждый ученик может ответить на каждое задание только один раз.
Чтобы настроить отправку посылок, в поле Максимальное количество попыток преподаватель указывает 1. Остальные настройки не меняет.
Компиляторы
Выберите все компиляторы, на которых участникам можно выполнять задачи соревнования. Эти компиляторы будут доступны участникам при отправке решения.
Подробнее о компиляторах см. в разделе Компиляторы.
Тестирование и отчет для участников
Настройте, как будет происходить тестирование посылок и что участники будут видеть в отчете по тестированию.
Например, вы можете настроить, чтобы проверка решения выполнялась до получения первой ошибки или чтобы проверка решения не выполнялась, пока не выполнены тесты из условий. Еще вы можете настроить полноту отчета для пользователя.
Проверка перед компиляцией
Чекеры проверки перед компиляцией (precompile-чекеры) позволяют проверить код участника на соответствие определенным требованиям до начала основного тестирования.
- Нажмите кнопку Добавить чекер рядом с заголовком Проверка перед компиляцией.
- В открывшемся модальном окне выберите тип проверки:
- Для всех компиляторов — чекер будет запускаться для всех компиляторов, для которых не указан специализированный чекер.
- Для конкретных компиляторов — выберите компиляторы из списка, для которых будет запускаться этот чекер.
- Выберите окружение, в котором будет запускаться чекер.
- Загрузите файлы чекера, нажав на кнопку Выбрать файлы
- Первый загруженный файл будет исполняемым файлом.
- Все последующие файлы будут доступны чекеру во время его исполнения.
- Нажмите Сохранить.
Если при проверке посылки участника precompile-чекер завершился с exitcode не OK (0), то посылка получит вердикт Ошибка проверки перед компиляцией
(PCF). Отключение такого поведения можно сделать в настройках Монитора.
Подробнее о настройках тестирования и отчетах см. в разделе Тестирование и отчет для участников.
Монитор
Выберите тип монитора, чтобы настроить отображение результатов: нужно ли начислять очки за решенные задачи и выводить вверх лидеров таблицы или отмечать участников, которые решают задачи быстрее всех.
Описание каждого типа монитора можно найти в подсказке под монитором:

Подробнее о настройках и типах мониторов см. в разделе Монитор.
Интерфейс участника
Вы можете скрыть некоторые разделы от участников. Подробнее об интерфейсе участника см. в Справочнике.
Ответы
Вы можете указать, когда и при каких условиях будут показываться правильные ответы, указанные в соответствующих настройках задач. Подробнее о правильных ответах см. в Справочнике.
Выдать соревнование
Определите, какие пользователи будут у вашего соревнования: внешние или внутренние.
- Внешние пользователи регистрируются под своим Яндекс ID и могут участвовать в публичных соревнованиях.
- Внутренние пользователи регистрируются внутри Контеста. Добавляйте их для закрытых соревнований, например в учебном заведении.
Чтобы выдать соревнование участникам:
-
Перейдите на страницу соревнования: в верхней части страницы соревнования нажмите на его название.
-
Из адресной строки скопируйте ссылку. Пример ссылки:
https://contest.yandex.ru/contest/12345/enterЕсли пользователи внутренние, добавьте к домену
official. Пример:https://official.contest.yandex.ru/contest/12345/enter -
Отправьте ссылку участникам.
Объявления и сообщения
В процессе соревнования у организаторов есть возможность отвечать на вопросы участников и делать объявления.
Если в вашем соревновании включена возможность задавать вопросы, то все неотвеченные вопросы приходят на почту судьям соревнования. Чтобы уведомления не попадали в спам, проверьте настройки почтовых фильтров для noreply@contest.yandex.ru.
Примечание
Про включение сообщений для участников соревнований см. в Справочнике.
Для удобства организаторов есть возможность получать сообщения от участников прямо в Telegram и отвечать на них из интерфейса мессенджера.
Для этого напишите боту @ycontestbot или добавьте его в групповой чат.
-
Привязать соревнование. При нажатии на кнопку «Start» или по команде /start бот предложит привязать соревнования к чату. Нажмите на кнопку «Привязать» и выберите нужные соревнования в интерфейсе администратора.
-
Ответ на сообщения участников. Бот будет присылать вопросы участников в чат. Чтобы ответить на вопрос, нажмите на кнопку с ответом или просто ответьте на сообщение кнопкой «Reply».
Если в ответе будет команда /off, ответ участнику не отправится: её можно использовать для внутренней коммуникации между организаторами.
-
Оправить сообщение всем участникам. С помощью команды /clarify вы можете отправить объявление всем участникам соревнования.
-
Отвязать соревнование от бота можно в настройках соревнования в интерфейсе администратора.
В интерфейсе администратора доступны две страницы для общения с участниками:
- Сообщения — просмотр и ответ на вопросы участников с фильтрацией по статусу и задачам.
- Объявления — отправка сообщений всем участникам или конкретным участникам.
Подробнее см. в разделе Сообщения и объявления.