↑ Return to Competition

Competition Rules

Notable changes from previous years’ rules

  • If a contestant submits more than one solution for the same task, the last one counts.
  • Either partial or full feedback may be enabled for some of the problems.
  • Different compiler options and different versions of the
    operation system and the tools. C++ 11 is supported.
  • Pascal is not supported.

Task Types

All of the tasks in CEOI 2014 are designed to be of algorithmic

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.
  • Source 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 problem

Competition Equipment and Environment

The contestant machines will run a specially prepared Linux distribution.

Compiler versions that will be used:

  • gcc ≥ 4.8.0, compilation command (for the program abc.c or
    gcc -DEVAL -O2 -static abc.c -lm
    g++ -DEVAL -O2 -static -std=gnu++0x abc.cpp

That is, C++ 11 is supported.

To compile the program abc.c | abc.cpp on a contestant machine,
simply use the aforementioned compilation instructions.
As a result, the binary file abc will be created.

Installed software environment will include:

  • os: Ubuntu 14.04 LTS, Gnome Classic
  • editors/IDEs: joe, vim, kate, kwrite, eclipse-cdt, emacs, gedit, nano, scite, codeblocks, geany, kdevelop
  • browsers: Firefox
  • utilities: gdb, ddd, valgrind, python, ruby
  • STL documentation

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.
    On each grading machine, the file systems reside on a hard disk, while on
    some contestant machines, the file systems reside on a solid-state drive.
  • For tasks which require programs as solutions, the submission
    facility will accept C or C++ 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,
only the last submission will be graded at the end of the contest.

For tasks which require output files as solutions, contestants
must submit each output file separately. Depending on the problem,
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 problem, 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

During the first two hours of competition, contestants may submit
written questions concerning any ambiguities or items needing
clarification in the competition tasks. All questions regarding the
problems 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
    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 problems
(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 SC makes verbal announcements during the competition,
these announcements will also be available on 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.

Conduct of Contest

Submitted programs are not allowed to:

  • use external libraries (e.g., crt, graph);
  • access the network;
  • fork;
  • open and create files;
  • attack the system security or the grader;
  • execute other programs;
  • change file system permissions;
  • read file system information;
  • make system calls not related to solving the competition task.

During the contest, contestants are not allowed to:

  • 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;
  • use any printed materials and electronic devices brought by
    themselves with the exception of a keyboard.

Attempting any of the above actions may result in disqualification.

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,
  • keyboards and mice (see below),
  • small mascots (see below),
  • English dictionaries (see below).

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 will
be considered cheating. In particular, during competition rounds it
is strictly prohibited to bring any computing or communication
devices or printed materials.

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

Appeal Process

At the end of each competition day, submitted solutions are judged
using data which conforms to the specification given in the problem
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 SC until 16:00 in the
afternoon of the same day (two hours before the GA meeting). The
appeals can be filed either using the contest systems ‘Clarification
request’ feature during the analysis mode or via email to:

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 GA
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 printed and distributed to them.


Contestants are allowed to print only text files during the competition.
After a contestant requests that a document be printed,
the support staff will deliver the printout to the contestant;
contestants should not leave their computer to find printouts.
Printouts will be delivered as quickly as possible, but large volumes
can produce delays in delivery.
The limit on the length of a printed document is 5 pages.
If a document to be printed is longer, only the first 5 pages will be printed.
There is also a hard limit of 1 MB on the size of the document (larger documents will be rejected).
On each competition day the contestant can print at most 30 documents.