Competition Rules

Competition rules

Competition rules

Competition rules of CEOI 2016 are similar in spirit to the previous years.

Notable changes from previous years:

  • Printing will not be available during the contest.
  • When a contestant submits more than one solution to the same task, the last submitted solution counts.
  • It is not permitted to bring wireless keyboard and mice.

Tasks Types

All of the tasks in CEOI 2016 are designed to be of algorithmic nature.

Tasks 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 an “opponent” 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.



As usual, for every task other than output-only tasks, the following limits will be enforced on the contestants’ submissions:

  • Time limit: a limit on the total processor time the process may consume while solving a given input.
  • Memory limit: a limit on the total amount of memory the process may have allocated at any moment. Note that this limit includes not only the variables, but also the executable code, global data, the stack, etc. There is no separate limit on the stack size.
  • Program size limit: no submitted program may exceed 100 kB in size. The size of the compiled program must not exceed 5 MB. Maximum compilation time is 10 seconds.

All task-dependent limits will be announced in the task statements.

Equipment and Enviroment

Competition Equipment and Environment

The contestant machines will run on Ubuntu Linux 14.04.

Compiler versions that will be used:

  • C will be compiled by GCC 4.8 or newer with compiler flags -O2 -std=gnu11 -static -lm.

  • C++ will be compiled by GCC 4.8 or newer with compiler flags -std=c++11 -O2 -static. This means that a subset of C++11 will be supported.

  • Pascal will be compiled by FreePascal 2.6.2 with compiler flags -XS -O2.

Documentation for the compilers and standard libraries will be available.

Submitting Solutions

Submitting Solutions

The contestants’ submissions are evaluated by a contest system. The contest system consists of a contest server and a set of grading machines. The contestants will be able to run their solutions on the server using test facility.

Contestants submit solutions to the contest server via a web-based submission system running on that server. Each contestant will be assigned a username and a password for accessing the web application on the contest server.

Solutions for tasks may be submitted at any time during the contest. Submissions are evaluated on the grading machines. The software environment on the grading machines are as close as possible to the environment on the contestant machines. The hardware of the grading machines is almost identical to the hardware of the contestant machines.

For tasks which require programs as solutions, the submission facility will accept C, C++, and Pascal source files. Verify that the program compiles and obeys the stated limits on program source size and compile time. The submission facility will then run the program on the sample test cases given in the task description, enforcing the relevant run-time resource constraints, grade the solutions for the sample test cases and report the results to the contestants.

For each task at most 100 submissions are allowed.

The solution must regularly terminate its execution in order to be graded. If the solution returns an error code different from zero, the contest system will consider that the solution had a runtime error and no points will be awarded for the corresponding test case. Therefore, solutions in C or C++ have to define the main function as int main and terminate the execution with return 0 or exit(0).

If a contestant submits more than one solution for the same task, the last submitted solution counts.

For tasks which require output files as solutions, contestants must submit each output file separately. Depending on the task, the contestant may receive full feedback for the submitted output file (the final score) or a partial information about the correctness of the submitted output (e.g. if the output is correctly formatted or not). The task statements of output-only tasks will contain the information about the type of feedback given by the contest system.

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.

We also advise the contestants to use the practice contest to familiarize themselves all aspects of the contest system.

Contestants may use the test interface of the contest system to run their submitted solutions on the test data of their choice. The contestants are allowed 50 test runs per task and the size of the input file is limited to 10MB.



For each task the test data will be divided into groups, with each group containing one or more test inputs. A test input is solved correctly if the submitted program produces a correct output file within the enforced limits. For output-only tasks test input is solved correctly if the corresponding output file submitted by the contestant is correct. A group is solved correctly if each of the inputs it contains is solved correctly.

Points are awarded only for correctly solved groups of inputs. If there are partial grading rules for the task, then the score for an input group will be the lowest amongst the scores for the particular test inputs contained in the group.



For some of the tasks, feedback may be enabled. When feedback is enabled for a task, every time a contestant submits a solution, he receives feedback for that submission.

Feedback may include the score for some (partial feedback) or all (full feedback) test inputs of that task. Since partial feedback is not based on complete groups of test inputs, it is only an indication of final grading results.

Clarification Requests

Clarification Requests

During the whole competition, contestants may submit written questions concerning any ambiguities or items needing clarification in the competition tasks.

All questions regarding the tasks must be submitted via the competition server, expressed either in the contestant’s native language or in English. If required, delegation leaders will translate their contestants’ questions into English after they are submitted and before they are sent to the Scientific Committee.

The Scientific Committee will respond to every question submitted by the contestants. Contestants should phrase their questions so that a yes/no answer will be meaningful. 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.

If contestants has questions or issues not related to the tasks (e.g., computer or network problems, request for additional blank papers, etc), he or she should notify the staff in the contest room by raising their hand.



In case the Scientific Committee makes verbal announcements during the competition, these announcements will also be available in the Competition Server’s web interface. These announcements will be in English language only.

The web interface also shows the official time remaining in the contest.

Fair Play

Fair Play

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

  • use external libraries (e.g., crt, graph)
  • execute other programs
  • access the network
  • create processes or threads
  • read or write files not described in the task description
  • attempt to subvert security of the grader

During the contest, contestants are not allowed to:

  • touch any workstation other than the one assigned to them
  • access the network for anything other than communicating with the competition server
  • 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 materials and/or electronic devices brought by themselves with the exceptions explicitly listed under Competition Supplies.

Attempting any of the above may result in disqualification.

Competition Supplies

Competition Supplies

In the competition room, blank paper and writing utensils will be provided.

On the competition days, contestants may not bring anything into the competition rooms, but:

  • writing utensils
  • simple wristwatches
  • non-wireless keyboards and mice (see below)
  • small mascots (see below)
  • English dictionaries (see below)
  • clothing and reasonable jewelry

If a contestant wants to bring a keyboard or mouse, small mascots or English dictionaries to the competition, these must be submitted to the technical staff during the practice competition day. Any of these will be checked and, if cleared, will be given to the contestant in the first competition day. After the first competition day, the contestant must leave these items on his or her workstation if he or she wants to use them during the second competition day. Once again these will be checked and, if cleared, will be given to the contestant in the second competition day. After the second competition day the contestant must take any of these items with him or her.

Any attempt to bring any other item into the competition room may be considered cheating. In particular, during competition rounds it is strictly prohibited to bring any computing or communication devices, storage media or printed materials.

During the contest analysis, contestants are free to bring and use anything.

Appeal Process

Appeal Process

At the end of each competition day, submitted solutions are judged using data which conforms to the specification given in the task statement, but which is unknown to contestants during the competition (except for output only tasks, of course).

Provisional grades, based on these tests, are delivered to team leaders. The test data will be available electronically in the contestant environments. Contestants and team leaders may use the contestant workstations to verify that the grading is correct.

A team leader may file an appeal to the Scientific Committee in time specified by the competition schedule.

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 disposition will be summarized at the final General Assembly meeting of that competition day.

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. Should anyone’s score change after grading results have been distributed, new results will be distributed to them.