logo Baltic Olympiad in Informatics
April 30 – May 3, 2010, Tartu, Estonia

Contest Rules

Competition Days

The competition days of BOI 2010 are Saturday, May 1 and Sunday, May 2. On each competition day there will be one competition round in which the contestants will have five hours to complete three tasks.

There will be a practice round on Friday, April 30. In the practice round the contestants will have two hours and two practice tasks to get familiar with the contest environment, including their workstations and the evaluation system interface.

The solutions submitted during the practice round will be evaluated, but the results will not be considered in the final ranking.

Competition Equipment

For each competition round each contestant will have a desk with a personal computer. The software available on each computer is as described in the section Contest Environment on the BOI 2010 website. The web browser may only be used to access the material in the workstation and the BOI 2010 evaluation server. No other network access is permitted.

Blank paper will be available in the competition room. Contestants can bring pens, pencils and erasers with them. Using any printed materials (except official BOI 2010 materials), or any electronic devices or data carriers (except official BOI 2010 equipment) is prohibited.

The Tasks

The tasks posed at BOI 2010 are intended to be of algorithmic nature. That is, the focus is on designing correct and efficient algorithms.

The Solutions

Unless stated otherwise in the task description, the solution of a task is a program written in the Pascal, C, or C++ language. The source code of each solution must be contained in one file and submitted through the BOI 2010 evaluation system interface.

The program must read input data from an ASCII text file with the name given in the task description. Contestants must not include full path in file open operations. The input file will be in the current directory. Programs must not attempt to read any additional data neither from the keyboard nor from files not specified in the task description. Contestants may assume that the input data agrees with the task description.

The input file consists of a number of lines, each of them (including the last one) terminated by an end-of-line marker. Input values on each line are separated from each other by single space characters. The structure of input is always such that a contestant does not need to worry about end-of-file conditions.

The program must write output data to an ASCII text file with the name specified in the task description. Contestants must not include full path in file open operations. They must create the output file in the current directory. Output on the screen or contents of any other files will not be evaluated. It is allowed to make working files in the current directory during program execution.

Output data must consist of a sequence of items separated by space characters or end-of-line symbols as specified in the task description. Contestants must not add output of their own. Leading and trailing spaces on each line are ignored and any number of spaces may separate two output values on a line.

Any of the above conditions may be overridden in the task description.

Please note that the input and output file names are case-sensitive and the input file is read-only in the evaluation system.


When contestants enter a competition room at the beginning of a competition round, their computers will be switched on. Competition tasks will be inside envelopes next to the computers. Contestants are not allowed to open the envelopes or touch the computers until the start signal is given.

For each contestant, task descriptions are presented in English and in his/her native language (if such a translation is prepared by his/her team leader). In case of any discrepancies, the English text is binding and official.


A contestant may ask a room supervisor for assistance at any time. The supervisors will NOT answer questions about the competition tasks (see the section "Requests" below), but will deliver papers, attend to computer problems, help to find toilets, etc.

If contestants encounter problems with hardware, they can request help form the room supervisor. In case of hardware failure, extra time will be granted to a contestant, but this will cover only the amount of time needed to replace the hardware.


Contestants may submit questions and technical support requests.

Questions must be submitted using a special form on the BOI evaluation server in English or in the contestant's native language. In the latter case the question will be translated into English by the team leader.

Contestants may ask questions concerning the competition tasks only during the first hour of a competition round. The questions should be formulated so that the can be answered with "YES" or "NO". Only the following answers are possible: "YES", "NO", "NO COMMENT". All questions not related to the text of the competition tasks will be answered "NO COMMENT".

The Jury will answer every question submitted by contestants. This may take some time, so the contestant should continue working while waiting for the answer to a given question. The contestant shall not be involved in the discussion.

Delivering the Solutions

Contestants submit their solutions using a web-based evaluation system interface.

The URL, username, and password needed to access the system will be given to each contestant together with the tasks.

When a contestant submits a solution, the evaluation system accepts it for official grading only if the solution compiles and solves correctly the example given in the task text. Only the last accepted solution from each contestant is graded for each task. A solution that is not accepted does not replace a previously accepted solution.

Ending the Competition

Contestants will be given a warning both 30 and 10 minutes before the end of the competition. The contestants have to submit their solutions before the end of contest. At the end of contest, the submission system will close automatically.

Evaluation Process

After each round, an evaluation process starts.

Evaluation of a program involves several test runs with confidential input data and special evaluation software. A test run for a program consists of the following steps:

  • contestant's solution will be compiled using the command line compiler with the switches specified below
  • the resulting executable will be copied into a special evaluation directory
  • input data will be copied into the appropriate file in the same directory
  • the program will be executed without any command-line parameters
  • if the program terminates within the time limit specified in the task description, then the output will be checked, otherwise the output will NOT be checked and the program scores 0 points for the test

The points awarded for each test run are aggregated to give the final score for the problem.

The evaluation will run on separate computers in the following configuration:

  • Debian GNU/Linux operating system on a single 2.33 GHz Xeon core
  • FreePascal compiler version 2.2, with the -Sg -O2 -XS command-line options
  • GNU C/C++ compiler version 4.2, with the -O2 -static -lm command-line options

Programs must not attempt to modify hardware and operating system settings. Programs must not attempt to use more than 64 MB of memory, the stack size must not exceed 8 MB. The size of a source file must not exceed 1 MB.