Competition Rules


These competition rules include the Competition Procedures and Judging Procedures information. Minor changes to these rules are possible. The final version will be distributed in the first GA meeting.

Competition Dates

CEOI 2003 takes place from Saturday, July 5 (Arrival Day) to Saturday, July 12 (Departure Day). The first competition day is Monday, July 7, and the second competition day is Wednesday, July 9. On both competition days you will be given three tasks to complete in the five hours from 9:00 to 14:00 CEST.

There is also a practice session on Sunday, July 6. All contestants are required to attend this session to get used to the local environment.

Competition Equipment

The competition computers have Pentium III/650 MHz or better processor, 128 MB or more RAM, a standard UK keyboard, a mouse, and a color screen.

Blank paper and writing utensils will be provided for you. You may take your own pens, pencils and erasers, but may NOT take any material such as computing equipment (including calculators, organizers, PDAs, computers, ...), books, manuals, written or printed materials, diskettes, CD-ROMs, or communication devices into the competition area. A contestant who is in possession of this type of material in the competition room may be disqualified from the competition.

Programming Environment

The computers have a dual-boot installation of Debian GNU/Linux 3.0 'sarge' and Windows 98. In both Linux and Windows environment, the programs installed for the competition are set up in such a way that they can be found from the users' path (i.e. no extra setup is needed to use the tools). Both Linux and Windows platforms include:

See also the document that specifies the competition environment in detail.

We may offer newer versions of softwares to resolve hardware problems and/or software compatibility/bug-patch issues. The contestant should be familiar with the programming package of his/her choice, including the use of libraries or units. The contestant should be able to execute programs, change the working directory and manage files, and use a web browser.

Similar installations will be used for the computers in the translation computer room. Windows and Linux installations include, as well as TeX.

Additional tools may be available for assisting the contestants with the tasks. All documentation about computing environment which does not reveal the nature of the tasks will be made available on the competition web site.

Competition Tasks

All of the tasks in CEOI 2003 are designed to be of algorithmic nature. The solution for each task is either a single source file of a computer program or such a set of output data files, each file related to some input information.

Efficiency plays an important role in some tasks. Whenever efficiency of algorithmic computations is important, there will be at least one grading input where a correct but nevertheless inefficient program can also score some points. It is important, therefore, to attempt a task even though the contestant may not know the 'best' solution. If you are working on Linux and, as an example, the tasks are called Codes, Caves, and Hammer, then your home directory has three subdirectories codes, caves and hammer, and the task-related material is in the respective subdirectories.

If you are working on Windows 98 and, as an example, the tasks are called Codes, Caves, and Hammer, then your computer has folders C:\ceoi\codes, C:\ceoi\caves, and C:\ceoi\hammer.

Documentation for tasks where a program source file is requested as a solution

When a program source file is required as a solution, then the program source provided by the contestant must be in a single source file. The task documentation will specify

The program must read its input from an input file and write its output to an output file in the format specified in the task description, except otherwise stated in the task description. The submitted source program must be smaller than 1 MB and its compiling time must be less than 30 seconds in the evaluation server computer. If the submitted program does not meet these constraints, then we do not process this submission further.

Documentation for tasks where output data files are requested as a solution

We will use a task type where input data is given to the contestant and the contestant is only required to produce the output data as an answer. The contestants programs (if any) for producing this answer are not needed as a part of the solution. When a set of output data files is required as a solution, then the task documentation will specify

In this case the input data will be in ASCII text files. Input and output data In all tasks, input and output data consists of a sequence of items. An item is a string of printable non-space characters (ASCII code from 33 through 126). An item may represent an integer or a general string. This is explained in the task-specific documentation.

Items can be separated by a space or an end-of-line. The format of the input data will be specified in the task specification.

The output data files should be formatted strictly according to the task-specific instructions.


You must take part in the practice session on Sunday, July 6. Before each competition round, the computers will be assigned randomly to the contestants (different for both competition days).


A curfew will start at the start of a GA meeting where tasks for a competition day are presented and approved. During the curfew the contestants are not allowed to communicate by any means with any people who attend this meeting. Also, the contestants and the people taking part in the meeting must obey any instructions which limit the area where they are allowed to stay. The people authorized to attend the meeting are not allowed to communicate task-related information to other people before the end of the curfew.

A contestant breaking this rule may be disqualified from the competition. If some other person associated with a national delegation breaks this rule, then all contestants of the respective delegation may be disqualified from the competition. The curfew will be lifted on both competition days after the competition has started.

Competition-time Procedures

Starting the competition

You are taken to the competition hall before the competition starts. A randomly chosen computer is designated to each contestant (different for both competition days). You are not allowed to touch the keyboard or open the envelope until the start signal is given. The computer is switched on and displays a menu, from which you may choose to boot up either Linux or Windows. The competition envelope containing the task definitions and other necessary competition information is in front of the computer. At the starting whistle, you may operate your computer and open your competition envelope.

You do not need to log in for Windows. You should log into Linux with username: ceoi and without a password.


During the first hour of competition, you may submit written questions concerning any possible obscurities or ambiguities in the competition tasks.

You must submit your question(s) in English or in your native language on the Question Form provided. If required, your delegation leader will translate your question(s).

The following reply to a question will be one of: YES, NO or NO COMMENT. The Scientific Committee will answer every question submitted by the contestants. This may take some time. Therefore, you should continue working while waiting for the answer to your question(s). You will not be involved in discussion.


You may ask the support staff for assistance at any time. The staff will not answer questions about the competition tasks, but will deliver your question forms, help you to find toilets and refreshments, and assist in computer problems.


You will be able to get printouts by printing through a facility provided to you as a part of the competition environment. The support staff will take the printouts to you. You may expect a small delay.


You will be able to make and retrieve backups through a facility provided to you as a part of the competition environment.

Submitting solutions

You can submit your solutions through a facility provided to you as part of the competition environment. The facility checks certain things about your submission. If your submission is a source code, the facility will check that it compiles and solves a simple test case that is given in the task description. The submission is not accepted if either condition fails, unless you explicitly select the No-sample-test mode in the submission facility, in which case the submission is not checked on the sample input. If your submission is a data file, the facility will check its format. If the checks are not passed, you will get an error message.

If the checks are passed, the submission is accepted for grading, and you will be informed about that. However, the actual grading is done separately and you will not be informed about your score while the competition is running.

In case a contestant submits solutions for the same task several times, then the last submission that is accepted by the facility will be used in the grading.

Ending the competition

You will be warned at 15 minutes, 5 minutes and 1 minute before the end of the competition.

After the end signal, you must immediately stop working. Put the keyboard on top of your terminal. Do not switch off your computer. You must not operate your computer or touch anything on your desk.

When you are told, you may leave the competition hall and you may take your competition envelope contents with you.


The grading system evaluates the submitted tasks after the competition.

The evaluation forms and evaluation data will be made available to the delegations according to the schedule of CEOI 2003. Complaints about grading are to be submitted within a separately announced time to the Scientific Committee.

F\or grading, the source files you have submitted will be re-compiled and executed under Linux using the resource limitations specified for the tasks. The compiler options for Pascal programs are -O2 -XS and the compiler options for C and C++ programs are -lm -O2 -static.

If your submission has succeeded, then the compilation has been successful and possibly your program has managed to solve some simple test case, but no more. In particular, it does not mean that your program would obey the resource constraints given in the task description when different input parameter values are being used.

Other Information

A contestant

may be disqualified from the competition.

For submitting solutions, and printing, the computers are connected in an internal network. These facilities are arranged using a secure connection. You are not allowed to access the network for any other purpose or with any other tools than the ones provided for the above purposes by the organizers. Even sending a single 'ping' command is strictly prohibited. If the network does not seem to work, contact the lab supervisors. Also, you are not allowed to make any material accessible to the network from your computer. The network traffic is monitored and logged during the competition, and a contestant breaking this rule may be disqualified from the competition.

Further, a contestant is not allowed to

Your programs

If your programs try any of this, you may be disqualified from the competition.

Version: June 18, 2003