Creating and hosting a contest

A contest consists of the following stages:

  1. Creating problems. See our examples.

  2. Creating and setting up a contest. After adding a contest, a problemset is created for it. You can add problems to this set or link an existing problemset to the contest.

  3. Participants register. Registration can start before the contest does. With open registration, external participants register themselves. With closed registration, they are added by the administrator. Internal users are always added by the administrator.

  4. Participants solve problems. The contest author specifies the date and time of the beginning of the contest and the problem solving time in the settings.

  5. End of contest and results. The contest ends when the last user completes their participation at the specified time.

    Results are reviewed in the leaderboard, which is a results table, or downloaded as a CSV file.

  6. Upsolving and training. This stage is optional. If upsolving is allowed, participants can send submissions (solutions) after the contest ends. The system checks these submissions and provides a verdict, but they are not counted in the results table.

Create a contest

  1. Go to Contests and click Add contest.
  2. Enter a name and click Create. The contest settings page opens. The name will be displayed in the participant interface.

A contest is created with standard settings, including the New interface. You can change these settings. If participants will solve problems in teams, select Classic interface under Interface type: the new interface does not currently support team participation.

Before the contest starts, open it as an organizer and check the problem statements in the participant interface.

For details about contest settings, see the Reference.

Main

Choose the registration method and the date and time of the contest.

Participant registration

Participant registration method:

  • Open: Participants can register using their Yandex accounts.
  • Closed: The administrator registers participants, specifying their Yandex usernames or internal system usernames.
  • Training after completion: Registration is closed during the contest and opens after the contest ends.

Internal users can't register for contests on their own; they are added by the administrator.

In training mode, participants can register and solve problems on their own, but their results don't count toward the standings. They can send submissions and receive verdicts, but their results won't appear in the final results table.

Team participation

Determines whether participating and getting points for solving problems as a team is permitted. Users can form teams themselves.

For team participation, select Classic interface under Interface type.

IP address restrictions

If enabled, the setting restricts access to the contest and participant interface. Only users connecting from the specified IP addresses or subnets can register and solve problems. IPv4 and IPv6 addresses, including CIDR notation, are supported. You can add multiple values.

Yandex Contest checks the IP addresses. This setting complements the network restrictions at your venue; it does not replace them. For details, see Internet access.

Participants' start time

The time when participants can start solving contest problems. The time zone is determined using the user's settings.

  • Fixed: All participants must start and finish solving contest problems at the same time.

    Select a date in the calendar and set the contest start time. Participants see a countdown timer. When it reaches Participant start time + Time to solve problems, the contest ends for the participants who have already started and becomes unavailable for those who haven't.

  • Interval: Participants can start completing contest problems at different times, for example, if users are participating from different time zones or participants are given homework.

    Select a date in the calendar and set the time when participants can start solving problems.

    Select Until a specified time to set the end of the start period, or Unlimited to leave it open.

    Regardless of when participants start solving contest problems (at the beginning or end of the start interval), they have the time indicated in the Time to solve problems field.

Time to solve problems

Select Until a specified time to set the number of days, hours, minutes, and seconds permitted to solve problems, or Unlimited if no limit is needed.

The time begins as soon as the contest starts if you selected a fixed start time, or the moment the participant starts solving problems if you selected an interval start time.

Allow individual start

Alert

Allow individual start applies only to contests with an interval start. It has no effect with a fixed start.

Allow participants to start the contest on their own. If the option is enabled, participants without a specified start time see the Start virtual contest button. To set a participant's start time, open Participants.

Upsolving

Choose whether participants can continue solving contest problems outside the scoring period:

  • Allowed: Participants can continue submitting solutions after their participation time ends, but these submissions are not counted in the overall standings.

    Example:

    The start period runs from 10:00 to 15:00, and participants have one hour to solve problems. A participant starts at 11:00 and finishes at 12:00.

    After 12:00, the participant can continue solving problems, but the results are not counted in the overall standings.

  • Allowed, after the end of the start time: Submissions are blocked after the participant's time to solve problems expires until the start period ends. Participants can continue solving problems after the start period ends, but these submissions are not counted in the overall standings.

    Example:

    The start period runs from 10:00 to 15:00, and participants have one hour to solve problems. A participant starts at 11:00 and finishes at 12:00.

    After 15:00, the participant can continue solving problems, but the results are not counted in the overall standings.

    Alert

    This option is for contests with an interval start.

  • Prohibited: Participants can no longer submit solutions after their participation time ends.

For more information about setting up participant start times, see Participants.

Warning

All solutions sent after the end of the participation time are not counted in the scoring and the final results table, even if the solution was sent a few seconds late.

Example 1

A school teacher wants to give their students from the same class a test that they must complete during the lesson from 8:30 to 9:15. The teacher has already created internal users in the system and added them as contest participants. To set up a contest:

1. In the Participant start time field, select Fixed.

2. In the calendar, select the desired start date and time: 8:30.

3. In the Time to solve problems field, select Until a specified time and set 0 days, 00:45:00. You can increase the time so that students have time to send their solutions after the lesson ends.

Example 2

A university teacher gives their students a take-home test. The estimated time to complete the test is two hours, but each student can prepare on their own and complete the test any time before the next seminar, which starts in a week. To set up a contest:

1. In the Participant start time field, select Interval.

2. In the calendar, select from and set the date of the current seminar.

3. Select Until a specified time and set the date of the next seminar.

4. In the Time to solve problems field, select Until a specified time and set 0 days, 02:00:00.

5. Make sure Allow individual start is enabled.

Participant interface

When you create a contest, the new participant interface is selected by default. You can hide specific sections from participants. For details, see Participant interface.

Solution comments

You can specify when participants see comments added in problem settings. For details about solution comments, see the Reference.

Testing and report

Configure submission testing and the contents of reports participants will receive.

For example, you can configure solution testing so that it runs until the first mistake or doesn't begin until sample tests are completed. You can also configure how thorough the report's contents will be.

Submissions

Under Submissions, set the maximum submission size, number of attempts, and interval between submissions. You can also select verdicts that do not use an attempt. The attempt limit does not prevent submissions during upsolving. The default settings are sufficient for standard problems.

Maximum number of attempts

Specify how many times a participant can submit a solution to the same problem for scoring. To exclude certain verdicts from the attempt count, select them under Verdicts that do not use attempts.

Submissions with identical code

Turn off Allow submissions with identical code to prevent participants from resubmitting a solution without changing its code. If they try, they see a notification about the duplicate, and the submission does not count as another attempt.

For more information, see Submission settings.

Example.

A school teacher hosts a test which consists of simple multiple choice and short answer questions. Each student can only answer each question once.

To set up sending submissions, specify 1 in the Maximum number of attempts field. The other settings are not changed.

Precompile check

Precompile checkers verify that a participant's code meets specific requirements before the main testing begins.

  1. Click Add checker next to the Precompile check heading.
  2. In the dialog, choose the check type:
    • For all compilers: The checker runs for every compiler without a specialized checker.
    • For specific compilers: Select the compilers for which this checker runs.
  3. Select the environment in which the checker runs.
  4. Click Select files to upload the checker files.
    • The first uploaded file is the executable.
    • All subsequent files are available to the checker while it runs.
  5. Click Save.

If a precompile checker exits with a code other than OK (0), the submission receives the Precompile Check Failed (PCF) verdict. You can configure how this verdict affects scoring in Leaderboard.

For more information about testing settings and reports, see Testing and report.

Leaderboard

Select a leaderboard type to set up the display of results: choose whether you want to award points for solved problems and bring leaders up in the table, or mark participants who solve problems faster than others.

You can find a description of each leaderboard type in the tip under the setting:

For more information about leaderboard settings and types, see Leaderboard.

Compilers

Select all compilers participants can use when solving contest problems. These compilers will be available to participants when submitting solutions.

For more information about compilers, see Compilers.

Give participants access to a contest

Decide whether the contest is for external or internal users:

  • External users sign in with Yandex ID and can participate in public contests.
  • Internal users register within Yandex Contest. Add them to closed contests, such as those held by an educational institution.

To give participants access to the contest:

  1. Open the contest page: at the top of the contest settings page, click its name.

  2. Copy the contest link from the address bar. If the contest uses the new participant interface, a link for an external user looks like this:

    https://new.contest.yandex.com/contests/12345/start

    For an internal user, use the same link on the int.contest.yandex.com domain. Example:

    https://int.contest.yandex.com/contests/12345/start

    If you selected the classic participant interface, use contest.yandex.com for external users and official.contest.yandex.com for internal users.

  3. Send the link to the participants.

Messages and announcements

During the contest, administrators can reply to participant questions and make announcements.

If your contest has the option to ask questions enabled, all unanswered questions are sent to the judges' email. To prevent notifications from going to spam, check your email filter settings for noreply@contest.yandex.ru.

Note

For information about enabling messages for participants, see the Reference.

For administrators' convenience, there is an option to receive messages from participants directly in Telegram and reply to them from the messenger interface.

To do this, write to the bot @ycontestbot or add it to a group chat.

  • Link a contest. When you click the "Start" button or use the /start command, the bot will prompt you to link contests to the chat. Click the "Link" button and select the contests you need in the administrator interface.

  • Reply to participant messages. The bot will send participant questions to the chat. To reply to a question, click the reply button or simply reply to the message using the "Reply" button.

    If your reply includes the /off command, the reply won't be sent to the participant: you can use this for internal communication between administrators.

  • Send a message to all participants. Using the /clarify command, you can send an announcement to all contest participants.

  • Unlink the contest from the bot in the contest settings in the administrator interface.

Two pages are available in the administrator interface for working with participants:

  • Messages — view and reply to participant questions with filtering by status and problems.
  • Announcements — send messages to all participants or specific participants.

For more information, see Messages and announcements.

Write to Support