BOI 2023 logo

Rules of the BOI 2023 in Lyngby, Denmark


The Baltic Olympiad in Informatics 2023 (BOI 2023) is an individual contest between contestants from eleven countries (in alphabetic order): Denmark (host country), Estonia, Finland, Germany, Iceland, Latvia, Lithuania, Norway, Poland, Sweden, and Ukraine. Each country can participate with up to six contestants. All contestants must be eligible to compete in IOI 2023 in order to be participants in BOI 2023.

There will be a public mirror competition starting one hour after the official competition.

Contest schedule

The contest days of BOI 2023 are Saturday, April 29, and Sunday, April 30. On each contest day the contestants will have five hours to complete three tasks.

There will be a practice session on Friday, April 28, designed to allow contestants to familiarize themselves with the contest environment. The solutions submitted during the practice contest will be graded, but the results will not be considered in the final ranking.

Environment and supplies

Each contestant will have a desk with a laptop. The software environment will be the same on all laptops.

Contestants may bring pens, pencils, and erasers with them. Paper will be available in the contest room.

Each contestant may bring one wired non-programmable USB keyboard and/or one wired non-programmable USB mouse to use instead of the keyboard and track-pad that is built into the laptop. Contestant keyboard and mouse should be presented to the Technical Committee during the practice session.

Each contestant may bring one printed, non-annotated natural language dictionary. Contestants may bring small mascots such as stuffed toy animals.

Drinks and snacks will be provided during the contest.

Contestants are not allowed to bring any additional reference materials such as books, program listings or notes. Contestants may not bring any electronic devices (cell phones, smart watches, etc.).

Contestants who want to bring any other items must contact the Jury via their team leaders.

Any keyboards, mice, dictionaries, or mascots must be brought to the contest room during the practice session. They will be checked and provided to the contestant during the contest sessions.

After the practice session and after the first contest day, the contestant must leave these items on their table if they want to use them during the contest next day. After the second contest day, the contestant must take all of these items with them.

Tasks and solutions

The contest tasks posed at BOI 2023 are intended to be of algorithmic nature. That is, the focus is on designing correct and efficient algorithms. In some tasks, efficiency of implementation may also be a factor. Each task will be divided into one or more subtasks, each worth a portion of the total points.

The solution of a task is a program written in any language accepted by Kattis, see Solutions must be submitted via the contest system. Each submitted source code file must be smaller than 256 KB and the evaluation server must be able to compile it in less than 30 seconds while using at most 512 MiB of memory.

Solutions must run within the time and memory limits, which are specified for every task separately. The memory limit applies to the overall memory usage including executable code size, stack, heap and programming language runtime environment, where applicable. Limits are applied to individual test runs.

The Jury guarantees that there are C++17 solutions to every task which fit within the specified memory and time limits by a generous margin.

Submissions read data from standard input and write to standard output. The contest includes two interactive tasks. These also communicate with the server on standard input and output; contestants are encouraged to familiarize themselves with flushing the output buffer in their programming language of choice.

Starting the contest

The contestants may only access their laptop after the contest has started. Contest task descriptions are provided digitally via the contest system, and if requested, in print inside the same envelope. Contestants are not allowed to open the envelopes or touch the laptops until the start signal is given.

The task descriptions are presented in English and the native language of the contestant, if such a translation has been prepared by their team leader. In case of any discrepancies, the English text is binding and official.

Assistance and requests

During the contest, communication is allowed only with room supervisors and the Jury.

Contestants may ask a room supervisor for assistance at any time. The supervisors will deliver paper, attend to hardware problems, help to find toilets, etc. However, the supervisors will not answer questions about the contest tasks.

Contestants should submit questions about the contest tasks via the contest system. The question can be written in English or in the contestant’s native language. In the latter case the team leader will be asked to translate the question into English.

A question about a task should be phrased so that a yes/no answer is meaningful. The Jury will answer every question submitted by the contestants. The answer will be one of the following:

  • “YES”
  • “NO”
  • “ANSWERED IN TASK DESCRIPTION” — The task description contains enough information. The contestant should read it again carefully.
  • “NO COMMENT” — The contestant is asking for information that the Jury cannot give.
  • “INVALID QUESTION” — The question is not phrased so that a yes/no answer is meaningful. The contestant is encouraged to rephrase the question.

If similar questions are submitted by several contestants, the Jury may give an announcement via the contest system.

If there are changes in grading during the contest influencing already announced scores, the affected contestants will be notified via the contest system.

Contestants are free to phrase their technical or contest related issues in any form. These issues/questions should not be related to tasks at all. Such questions will be fully clarified.

Submission and grading

The contestants submit their solutions via the contest system and can use the system to view the status of their submissions. When a solution is submitted, it will be compiled and graded. After this, the contestant will be able to view the score achieved by this submission and, for each test case group (see below), the result of the first failed test case, if any (restricted feedback). However, input and output data are not shown to the contestant. The submission rate of each contestant is limited to one submission every 60 seconds. For each task contestants may submit at most 25 solutions.

Each submission will be graded on several test cases.

The judgements are

  • Accepted
  • Compile Error
  • Run Time Error
  • Time Limit Exceeded
  • Wrong Answer
  • Output Limit Exceeded
  • Memory Limit Exceeded
  • Judge Error (this should not happen and means the judging system itself contains a error)

Test cases are grouped into subtasks, each worth some points.

The contest system will show the score of each subtask and the outcome of the first non-Accepted test cases in the subtask, if such a case exists. However, input and output data are not shown to the contestant.

A subtask is solved if every test in it is solved correctly and within time and memory limits. A submission will receive points for all subtasks that it solves.

Your final score for a task is the maximum score of your submissions to the task. (Note that this is different from many other BOIs, where your final score is the sum of final scores for its subtasks). The contestants will see their final score for each task in the contest system. However, there is a small chance that the score will change later due to appeals: submissions may be re-graded, and the final score will be that yielded by the last grading.

Grading procedures for a task can be overridden in the task description.

Ending the contest

Contestants will be given warnings 30 and 10 minutes before the end of the contest. After the end of the contest, during the analysis mode, no further submissions will be included in a contestant’s score.


Any of the actions outlined below are considered illegal during contest sessions:

  • Using any printed materials, except official BOI 2023 materials and unannotated natural language dictionaries brought to the practice session and cleared for use in contest sessions.
  • Using any electronic devices or data carriers, except official BOI 2023 equipment and keyboards and mice brought to the practice session and cleared for use in contest sessions.
  • Communicating in any form to other contestants or people other than BOI 2023 staff.
  • Using a workstation or an account assigned to someone else.
  • Tampering with or compromising the contest system.
  • Attempting to gain access to the hidden test data used for grading solutions.
  • Attempting to escalate privileges on the laptop.
  • Attempting to access any machine other than their own or the contest system.
  • Attempting to reboot or alter the boot sequence of any laptop.
  • Any other action that is deemed by the Jury as intentionally aimed at gaining unfair advantage over other contestants.

Moreover, the following rules apply to submissions:

  • Submissions must not attempt to access any files on the file system.
  • Submissions must not attempt to use network functions.
  • Submissions must not try to execute other programs.

Breaching any of the rules outlined above may be considered cheating and may result in disqualification.

Appeal process

After each contest the contestants will have time to check the full results of their submissions, including test data used in grading.

In case of any disagreement with the results the team leader may submit an appeal. The Jury will answer each appeal and give a short report to the team leaders about all appeals received after each contest. In the event that every submission of a task should be re-graded and re-scored as a consequence of an accepted appeal, 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 published, new results will be published again. Score changes resulting from this are not appealable.

Medal allocation

All contestants are ranked in descending order with respect to their final scores. Gold, silver and bronze medals are awarded to the contestants using the following algorithm:

  • The minimum score for a gold medal is the greatest score so that at least 1⁄12 of the contestants will get a gold medal.
  • The minimum score for a silver medal is the greatest score so that at least 1⁄4 of the contestants will get a gold or a silver medal. A silver medal is given to those who obtained this score but did not obtain a gold medal.
  • The minimum score for a bronze medal is the greatest score so that at least 1⁄2 of the contestants will get a medal. A bronze medal is given to those who obtained this score but obtained neither a gold nor a silver medal.

Unofficial contestants are not included when computing the medal boundaries. However, they are eligible to receive medals according to their achieved scores.

Our sponsors:
Ministry of Children and Education Novo Nordisk Foundation Technical University of Denmark Jane Street Kattis Jobindex Supabase IT University of Copenhagen Basic Algorithms Resarch Copenhagen ZeroNorth

Content is licensed CC BY.
Source code is MIT-licensed. Edit on Gitlab.