logo Baltic Olympiad in Informatics
April 23-27, 2003, Tartu, Estonia

Contest Rules

Competition Days

The competition days of BOI 2003 are Thursday, April 24 and Friday, April 25. 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 Wednesday, April 23. In the practice round the contestants will have two hours and one practice task 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 an IBM PC-compatible computer.

The following software will be available on each computer:

  • Windows NT 4.0, Windows 2000, or Windows XP operating system
  • FreePascal compiler version 1.0.6, with the accompanying IDE
  • Turbo Pascal compiler version 7.0, with the accompanying IDE
  • GNU C/C++ compiler version 3.2/MinGW, with the Dev-C++ IDE version
  • GNU C/C++ compiler version 3.2/DJGPP, with the RHIDE version 1.5
  • VIM 6.1
  • GNU Emacs 21.2
  • Internet Explorer (the browser may only be used to access the BOI evaluation system interface and the documentation of the software listed above)

The software will be installed in standard configuration including help files and examples (if any are supplied by the vendor).

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

The Tasks

The tasks posed at BOI 2003 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 2003 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. They must assume that input file is 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 always 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 are separated from each other by either a single space character or a single end-of-line marker. 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 an envelope next to the computer. Contestants are not allowed to open the envelope or touch the computer 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 question forms, help to find toilets, and attend to computer problems.


Contestants may submit questions and technical support requests.

Questions must be written on special forms (available in the competition room) in English or in the contestant's native language. In the latter case the question will be translated into English by the team leader. Requests should be submitted to the room supervisor.

Contestants may ask questions concerning the competition tasks only during the first hour of the competition. Only one of the following three answers is possible: "Yes", "No", or "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.

If contestants encounter problems with hardware, they can submit a technical problem request to 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.

Delivering the Solutions

Contestants submit their solutions using the 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.

Ending the Competition

Contestants will be given a warning both 15 and 5 minutes before the end of the competition. The contestants have to submit their solutions before the end signal. At the end signal contestants must immediately stop working.

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 team leader will receive a printed form with evaluation results.

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

  • GNU/Debian Linux operating system
  • FreePascal compiler version 1.0.6, with the -So -Sg -O2 -XS command-line options
  • GNU C/C++ compiler version 3.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.