Noteworthy changes and updates to the 2019 version

  • Competition is organized this year both onsite and online
  • No output-only tasks this year.
  • No test facility on the server.
  • Removed Java as a separate language.
  • It is possible to score points without solving all example test cases correctly.
  • Clarified the way full feedback works in CEOI 2020.

Task types

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

  • Batch tasks: Solutions comprise a single source file of a computer program which reads data from standard input and writes its answer to standard output.
  • Interactive tasks: Solutions comprise a single source file of a computer program which interacts with a “grader” program provided by the organizers. The interactive interface may be implemented either by using standard input/output, or by linking modules provided by the contestant and the organizers.
  • Output-only tasks: The contestants are given input files and they have to produce correct output files by any means available.

Output-only tasks will not be used in CEOI 2020.


For batch and interactive tasks, the following limits are enforced.

  • Submission size is limited to 100 KB.
  • Compilation has to run within 10 seconds and within about 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.
  • 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 submission 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.

Submissions are evaluated on grading machines. The software environment on grading machines is as close as possible to the environment on the contestant machines.

For tasks which require programs as solutions, the submission facility will accept C++ source files.


Test data for each task will be divided into batches of test inputs that correspond to the subtasks defined in the task statement. A test input is solved correctly if the submitted program produces a correct output file within the enforced limits. A group is solved correctly if each of the inputs it contains is solved correctly.

If a run of a solution returns an exit code other than 0 for any reason, it is judged as Runtime error.

Points are awarded only for correctly solved groups of inputs. If there are special grading rules for the task, the scoring will be clarified within the problem statement.

If a contestant submits more than one solution for the same task, the solution that scored the maximum number of points counts.

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


Contestants will receive full feedback for every submission. Namely:

  • Compiler output.
  • For each subtask, the score for that subtask and short information about the individual runs. For each run you are told the verdict, the runtime and the memory usage.

Clarification Requests

Contestants may ask the support staff for assistance at any time by raising their hand. This is recommended in case of computer or network problems, requests for additional blank papers, and bathroom breaks. Contestants should not leave their seats until allowed to do so by the support staff.

During the competition, contestants may use the contest server 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.

Technical and contest-related questions and comments may be phrased arbitrarily and the Scientific Committee will answer them appropriately. See below for an example.


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

Competition format for online contest

Due to COVID-19 pandemic, competition will be provided as proctored online competition. Team leaders of all participating teams are responsible for obeying the rules and to act on behalf of CEOI 2020 Jury where Jury’s physical presence is required.

During the contest, communication is allowed only with room supervisors and the Jury.

Contestants may ask a room supervisor for assistance at any time. The supervisors will deliver paper, attend to hardware problems, help to find toilets, etc. However, the supervisors will not answer questions about the contest tasks.

It is the responsibility of the country team leaders to create the same competition environment for contestants participating online. This means:

  • There should be the same operating system and software installed on the contestant’s computers as described in the Contest Environment page. (There is no restriction related to the hardware, but it should be a reasonably strong machine for software development.) The required software environment can be achieved by running the WMware virtual machine provided by the organizers, or installing Ubuntu 18.04 with the listed software. (Another version of Ubuntu is also acceptable.)
  • There may not be any other content (e.g. previously written source code, additional helper libraries, technical or other documentation except the C++ reference) on the computers before each round of the contest. All data from the computers should be wiped after the practice round and competition day 1.
  • Contestants can not use their own computers. However, they might use their own wired keyboard and mouse, as described in the rules for onsite participants.
  • Contestants can not access any machine on the network other than the contest server (technical information will be provided for ensuring it).

It is also the team leaders’ responsibility to ensure that the Competition Supplies are provided and the Fair Play rules are fulfilled at each competition site.

Fair Play

In order to ensure a 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 contest server
  • attempt to overload the contest system or attack its security in any way
  • attempt to reverse engineer the test data by abusing the provided feedback
  • communicate with persons other than CEOI staff
  • reveal their passwords
  • intentionally damage or endanger any part of the competition environment
  • reboot their workstation
  • 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.

Competition Supplies

During the contest days, the organizers will provide:

  • pens and blank paper
  • snacks and drinks

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

  • writing utensils
  • simple wristwatches
  • non-wireless keyboards and mice
  • small mascots
  • English dictionaries
  • clothing and reasonable jewelry
  • snacks that can be consumed without disturbing other contestants

During the onsite practice session all keyboards, mice, mascots and dictionaries must be submitted to the Technical Committee for approval before they can be installed and used. After the practice session, and again after the analysis session after day 1, 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 (keyboards with memory, calculators, laptops, tablets, smart watches, …)
  • any books, manuals, written or printed materials
  • data storage media (USB drives, flash cards, …)
  • communication devices (mobile phones, radios, …)

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 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.

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.