The Baltic Olympiad in Informatics 2025 (BOI 2025) is an individual contest between contestants from ten member countries (in alphabetic order): Denmark, Estonia, Finland, Germany, Iceland, Latvia, Lithuania, Norway, Poland (host country), Sweden and guest countries invited by the host. Each country can participate with up to six contestants. The present host may have a second non-ranked team with up to six contestants.
During the GA meetings, only the member countries can vote. However, the guest countries are still allowed to raise questions and discuss. In order to overwrite the rules, there should be a majority of 2/3 of member country votes.
All contestants must be eligible to compete in IOI 2025 to be participants in BOI 2025. There will be a public mirror competition starting one hour later than the official competition.
The contest days of BOI 2025 are Saturday, April 26, and Sunday, April 27. On each contest day, the contestants will have five hours to complete three tasks.
There will be a practice session on Friday, April 25, designed to allow contestants to familiarise themselves with the contest environment. The solutions submitted during the practice session will be graded, but the results will not be considered in the final ranking.
Each contestant will have a desk with a laptop, a screen, a keyboard and a mouse. The software environment will be the same on all laptops.
Contestants may bring their own stationery (pens, pencils, erasers, etc.). Paper will be available in the contest room, so you should not bring your own paper.
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 mouse that are provided by the organizers. Contestant keyboard and mouse should be presented to the Technical Committee during the practice session and be accepted by a committee member.
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 during the practice session.
Any stationery, 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.
The contest tasks posed at BOI 2025 are intended to be of an algorithmic nature. That is, the focus is on designing correct and efficient algorithms. In some tasks, the 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.
Unless stated otherwise in the task description, the solution of a task is a program written in C++20 (compiled with g++12.2) or Python 3.11 with NumPy 1.24 in one source code file. Solutions must be submitted via the contest system. Each submitted source code file must not exceed 100 KB and the evaluation server must be able to compile it in less than 30 seconds and use at most 512 MiB of memory. The compiled file must not exceed 10 MiB.
Solutions have to 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. Using multiple threads is not allowed.
The Jury guarantees that there are C++20 solutions which fit within the specified memory and time limits. Unless otherwise stated in the task description, solutions are required to read data from standard input and write to standard output.
When contestants enter the contest room at the beginning of the contest, their workstations will be running. Contest task descriptions are provided digitally via the contest system and in print inside the same envelope. Contestants are not allowed to open the envelopes or touch anything on the workstations 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 a team leader. In case of any discrepancies, the English text is binding and official.
During the contest, communication is allowed only with room supervisors and the Jury.
Contestants may ask a room supervisor for assistance at any time by raising a colored card available on the contestant’s desk. The supervisors will deliver the 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:
The Jury may give announcements related to tasks or the competition 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.
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 some failed test case, if any (restricted feedback). However, input and output data are not shown to the contestant.
Contestants may submit at most 50 solutions for each task. The restricted feedback may not be available when the contest server is overloaded, for example, near the end of the contest.
Each submission will be graded on several test cases. Each test case will have one of the following outcomes:
Test cases are grouped into subtasks, each worth some points.
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.
The final score for a subtask is the maximum of the scores for that subtask over all submissions. The final score for a task is the sum of the 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.
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.
In case of a technical failure, a contestant or a group of contestants will be granted additional time corresponding to the time that was needed to address the failure.
Any of the actions outlined below are considered illegal during contest sessions:
After each contest day, 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 during the appeals session. 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.
All contestants are ranked in descending order with respect to their final scores. Gold, silver and bronze medals, as well as Honourable Mentions, are awarded to the contestants using the following algorithm:
Note that: