These competition rules are derived from those of CEOI 2023, but with quite a few changes in competition details. Relevant changes (beyond obvious ones, like changing the year from 2023 to 2024) are highlighted: additions and changes, deletions.

Task Types

The tasks are designed to be algorithmic in nature. They may be of the following types:

  • Batch – Solutions consist of a single source file of a computer program which reads data from standard input and writes its answer to standard output.
  • Communication – Solutions consist of a single source file of a computer program which communicates with a grader program provided by the organizers. The communication interface will be specified in the task statement.
  • Output-only – The contestants are given input files and they have to produce correct output files by any means available.

Competition Format

There will be two competition days. On each day contestants will be given three tasks to complete in five hours.


For batch and communication tasks, the following limits are enforced:

  • A contestant can make at most 50 submissions per task.
  • Submission size is limited to 50 KiB, unless otherwise stated in the task description.
  • Compilation has to run within 10 seconds and within 512 MiB of memory.
  • Each task has a given time limit: a limit on the total processor time the solution may consume while solving a single test input. If the solution starts multiple threads, the time limit applies to the sum of their running times.
  • Each task has a given memory limit: a limit on the total amount of memory the solution may have allocated at any moment. This limit includes not only the variables but also the executable code, global data, the stack, etc.
  • There is no separate stack size limit.

Submitting Solutions

Contestants submit solutions to the contest server via a web-based judging system running on that server.

Solutions for tasks may be submitted at any time during the contest. For each task a contestant may make at most 50 submissions. It is the responsibility of the contestants to submit their solutions to the contest system before the contest is finished. We advise the contestants to reserve enough time before the end of the contest to make sure that all of their solutions are submitted. The contest server shows the official time remaining in the contest.

For tasks that require programs as solutions, the judge will accept C++ source files.

The programs are run on machines similar, but not necessarily identical to the contestants' workstations.


Test data for each task will be divided into batches of test cases that correspond to the subtasks defined in the task statement. A single test case is solved correctly if the submitted program produces the correct output within the enforced limits. A subtask is solved correctly if each of the test cases it contains is solved correctly. The individual score for each subtask will be specified in the task statement.

If a contestant submits more than one solution for the same task, the final score for each subtask will be the maximum score of this subtask across all submissions. The final score for each task will be the sum of scores for its subtasks. For example, consider a contestant who made two submissions on a task that contains two subtasks. The first submitted solution got 30 points for the first subtask and 10 points for the second subtask. The second solution got 0 points for the first subtask and 40 points for the second subtask. Hence, the final score for this task will be 70.

Each submission is always tested on all sample test cases. The results of these tests have no influence on the scores. In particular, it is possible to fail a sample test case and still gain a non-zero score for the task.

Scoring procedures for a task that deviate from the above will be specified in the task description.


For each submission, the judging system will provide as feedback the verdict and score for each subtask.

If a subtask is not solved, then the judging system will provide feedback for the first test case which received the lowest score on that subtask. The feedback will include the test case number and one of the following reasons:

  • Partially correct: The submission was executed within all limits and produced a partially correct solution for the test case.
  • Not correct: The submission was executed within all limits and produced an incorrect solution for the test case.
  • Timed out: The submission did not finish within the time limit.
  • Killed by a signal: The evaluation terminated after receiving a fatal signal. This might be caused by exceeding the memory limit.
  • Non-zero exit code: The submission terminated its execution with a non-zero exit status.

Inputs are ordered the same way in all the runs. No information on the actual data, number of passed test cases, program output, or any other execution details will be given to the contestant.

A correctly solved subtask will receive a Correct verdict.

If compilation of a submission fails, the contestant will receive the compiler output.

Feedback provided for a task that deviates from the above will be specified in the task description.

There is a small chance that the verdict will change later: due to appeals

  • If there is an error found in the test data, the Scientific Committee may fix it and re-evaluate all submissions.
  • Submissions can be re-evaluated on the same test data at any time. This might affect non-deterministic solutions or solutions running very close to the time or memory limit.

Clarification Requests

During the competition, contestants may use the judging system to submit clarification requests. Contestants may use English or their native language. Delegation leaders are responsible for translations between the native language and English.

Task-related questions must be phrased as positive yes/no questions. These questions will be answered with one of the following:

  • YES
  • NO
  • ANSWERED IN TASK DESCRIPTION (EXPLICITLY OR IMPLICITLY): The task description contains sufficient information. The contestant should read it again carefully.
  • INVALID QUESTION: The question is not phrased so that a yes/no answer would be meaningful. The contestant is encouraged to rephrase the question.
  • NO COMMENT: The contestant is asking for information that the Scientific Committee cannot give.

The Scientific Committee may choose to provide additional information.

Technical and contest-related questions and comments may be phrased arbitrarily and the Scientific/Technical Committee will answer them appropriately.


The Scientific Committee may need to make an announcement during the competition. These announcements will be made in English and they will be published on the judging system. If a contestant cannot understand the English announcement, they can send a clarification request asking for a translation.

Fair Play

In order to ensure fair competition, submitted programs are not allowed to:

  • use libraries that are not related to solving the problem (libraries for graphics, networking, etc.);
  • execute other programs;
  • access the network;
  • read or write files not described in the task description;
  • attempt to subvert the security of the grader.

During the contest, contestants are not allowed to:

  • access any workstation other than the one assigned to them;
  • access the network for anything other than communicating with the judging system;
  • attempt to gain access to user accounts different from their own;
  • attempt to overload the judging system or attack its security in any way;
  • attempt to reverse engineer the test data by abusing provided feedback;
  • reverse engineer the test data in order to solve the problems in highly test-data-dependent manner. One example of such behavior is using the feedback system to extract the test data and the applying this knowledge to build solutions adapted to the specific test cases. This behaviour would be considered cheating only if a submitted solution would solve significantly fewer test cases correctly if the test data were replaced by an equivalent set of test cases (e.g., one generated with a different random seed);
  • communicate with persons other than CEOI staff or onsite proctors;
  • reveal their passwords;
  • intentionally damage or endanger any part of the competition environment;
  • reboot their workstation;
  • access their workstation outside of the provided virtual machine;
  • use any printed and/or electronic materials that are not explicitly allowed.

All Fair Play limits do apply during the practice session as well. Violation of these rules may be grounds for disqualification.

Delegation leaders must protect confidentiality of tasks. Between the moment the tasks are presented to the General Assembly and the end of the corresponding competition day, contestants must not communicate with anyone who knows the tasks except for the usual communication with CEOI staff. During that time, sharing task-related information with anybody outside the General Assembly requires an explicit approval from the Scientific Committee.

Competition Supplies

During the contest days, the onsite proctors will provide:

  • pens and blank paper;
  • snacks and drinks.

During the practice session and analysis session, contestants may bring anything they like. During the contest, contestants may only bring the following items:

  • writing utensils;
  • simple wristwatches;
  • keyboards and mice (with no wireless communication and no programmable functions whose configuration is retained when unplugged);
  • small mascots;
  • English dictionaries;
  • clothing and reasonable jewelry;
  • medicine and medical equipment;
  • earplugs and earmuffs.

During the onsite practice session, all keyboards, mice, mascots, and dictionaries must be submitted to the onsite proctors for approval before they can be installed and used. After the practice session, and again after the analysis session after the first competition day, these items must remain on the contestant’s desk. After the second competition day, the contestant is responsible for collecting all their belongings.

Any attempts to bring any other items unlisted above into the competition rooms are considered cheating. In particular, the following items are strictly prohibited in the competitions:

  • any computing equipment (calculators, laptops, tablets, smart watches, …);
  • any books, manuals, written or printed materials;
  • data storage media (USB drives, flash cards, …);
  • communication devices (mobile phones, radios, Bluetooth-enabled devices, …).

Appeal Process

During the analysis session after a contest day, the secret test data will be made available to the contestants and delegation leaders. Contestants and team leaders may use the contestant workstations to verify that the grading is correct.

A team leader must notify the Scientific Committee about any appeals before the end of an analysis session, and then submit the full text of the appeal in the time specified by the Scientific Committee.

Every appeal will be reviewed by the Scientific Committee and the team leader will be notified about the committee’s decision. All appeals and their resolutions will be summarized at a General Assembly meeting and approved by the GA.

In the event that a mistake is discovered in the grading of a task, the mistake will be corrected and the submissions of all contestants will be re-graded and re-scored, whether or not the scoring of that particular submission has been appealed. Note that re-scoring may result in a higher or lower score for any contestant.