There will be two competition days, see the Schedule. On each day contestants will be given four tasks to solve in 5 hours. The task will be sorted by difficulty as perceived by the scientific committee. Note that contestants might disagree with the order so we suggest they read all problems. Remember that hard problems can have easy subtasks.
The main change to last year’s rules is that this year the scoring will be done with subtask stitching, so make sure to read the scoring section carefully.
There will be a Practice Competition prior to the first competition day to familiarise all contestants with the grading system and contest environment. The practice tasks will be published before the EGOI. Contestants may bring printed solutions to the practice tasks, on paper only, during the Practice Competition.
After the practice session, items that the contestant wishes to use during the contest must be left at the competition site. It is forbidden to bring these items directly to the competition days. See the Supplies section below for more details. See the section on supplies below.
Contestants will be provided with a computer set up with a virtual machine. Please refer to the Contest Environment page for more details. This virtual machine must be run at full-screen mode at all times, except when solving a technical issue as instructed by the Technical Committee.
Documentation for the allowed languages, C++ and Python3, will be available in the contest system.
Each contestant will receive the official English version of tasks on each contest day. For those contestants who requested the translation of the tasks, an additional version of the tasks in the requested language will also be provided. Each contestant will have online access to the official English version of tasks and all task translations in electronic format (PDF).
On each competition day, contestants will be given four tasks to solve in 5 hours. The task will be sorted by difficulty as perceived by the scientific committee. Note that contestants might disagree with the order so we suggest that they read all the problems. Remember that hard problems can have easy subtasks.
The Jury guarantees that there are C++20 solutions to every task which fit within the specified memory and time limits by a generous margin. It is also guaranteed that every task is fully solvable in Python3, even though this solution might be more involved and closer to the time and memory limits (e.g. recursion might be too slow).
If the contestants are participating from an online hub organised by their country, it is the responsibility of the hub organisers to arrange for printing of the task statements as needed.
In the competition site, the contestants will be provided with blank paper and writing tools. The contestants can ask for more in case they run out. On the competition days, contestants may not bring anything into the competition rooms, except for the following items under the proviso that they cannot transmit or store any data in electronic or printed format (other than the purpose for which they have been designed):
clothing,
For the case of snacks, the competition site organisers shall provide all contestants with some amount of snacks. In cases when a contestant would still like to bring in snacks, the contestant should make sure that the snacks are neither noisy nor smelly, and are not disturbing for other contestants in any other way. In case of complaints from other contestants during the contest, the snack might be removed.
Any attempts to bring any other items unlisted above into the competition rooms are considered cheating. In particular, the following items are strictly prohibited in the competitions:
The following items must be brought to (and left at) the practice session if the contestant wishes to use them during the competition days:
Any electronic or printed materials provided by the organisers during a competition round may be used by the contestants (e.g., a Users Guide to the Contest System or any electronic documentation or reference manuals provided in the installed contest environment or on the provided grading system).
Contestants may ask the support staff for assistance at any time. Contestants may use the system to call for the support staff for task related issues, and ask the room supervisor in case of technical difficulties.
During the competition, contestants may submit Assistance and Clarification Requests concerning competition tasks, rules, and/or grading. Contestants may submit Assistance and Clarification Requests by using the grading system. Contestants will receive a reply from the Scientific Committee via the grading system.
Questions may be expressed either in the contestant’s preferred language or in English. If applicable, delegation leaders will translate the questions into English after they are submitted and before they are sent to the Scientific Committee. The Scientific Committee will respond to every question submitted by the contestants during the competition. Since this might take some time, contestants should continue working while waiting for an answer to their questions.
Contestants should phrase their task-related questions so that a yes/no answer will have a clear meaning. Contestants should not ask negative questions such as “Isn’t it true that…?” because the yes/no answer to such questions may cause confusion depending on the native language of the contestants. Instead, positive questions of the form “Is it true that…?” are recommended.
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.
EGOI 2024 will use Kattis as the grading system. Login details to the grading system will be given out on each competition day.
Contestants will be able to see the score of their own submissions on the grading system, but not a scoreboard or their overall rank.
Submitting
Contestants must submit their solutions for tasks by using the grading system. The submission rate of each contestant is limited. A contestant can submit a solution only if they have submitted less than 15 solutions during the last 15 minutes. However, you can always submit 60 seconds after your last submission.
There is no restriction on the number of times a program may be edited, compiled, and run on the contestants’ computers.
Each submitted source program must be written in C++20 or Python3, the source code file must be smaller than 128 KB and the evaluation server must be able to compile it in less than 30 seconds while using at most 512 MiB of memory. The versions and compilation procedures used by the grading system can be found at the following links: C++ and Python3; note that they might differ a bit to the versions installed at the contestant’s computers.
The contestants submit their solutions via the grading 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 can view the score achieved by their submission. Each submission will be graded on several test cases.
The possible judgements are (for more details, see Kattis Judgements):
Test cases are grouped into subtasks, each worth some points. The grading system will show the score of each subtask and the outcome of the first non-Accepted test cases in each 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.
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.
Each task is worth a total of 100 points if solved fully, and partial credit will be given as specified in the task statements.
Tasks might be divided into several subtasks, each worth a portion of the total points. Other tasks might use a different way of calculating the score; if so this will be specified in the task statement.
The scores for each task will be calculated as follows:
For example, consider a contestant who made two submissions on a task that contains two subtasks. If the first submitted solution got 30 points for the first subtask and 10 points for the second subtask, and the second solution got 0 points for the first subtask and 40 points for the second subtask, then the final score for this task will be 70.
The remaining time of the competition will be displayed in the grading system. Should a contest extension occur, it will be announced in the grading system in the form of a notification. At the end of the competition, the grading system will stop receiving submissions and the contestants must stop using the computer immediately and remain seated until instructed otherwise.
Contestants must use only the virtual machine and account assigned to them on each competition day. In particular:
All of the above actions are considered cheating, and may result in disqualification.
Submitted solutions are evaluated using data which conform to the specification given in the problem statement, but which are hidden from contestants during the competition.
Provisional grades, based on these tests, are available immediately to contestants. In the event of an error with the test data, the Scientific Committee will attempt to, but is not obligated to follow the following process:
Every attempt will be made to fix test data and regrade all solutions as quickly as possible.
Additional test data may be added only when the grading data does not meet the intention of the Scientific Committee from before the contest.
Late detections of issues, especially during the last 2 hours of the contest, may be grounds for extending the length of the contest.
This hidden data will be made available electronically in the competition area during the scheduled time for analysis after each competition. Contestants and team leaders may use the contestant’s workstations to verify that the grades are assessed correctly.
A Team Leader may file an appeal by completing an Appeal Form and submitting it to the Scientific Committee at least 30 minutes prior to the final GA meeting of that competition day. The GA will be informed of where Appeal Forms can be collected, and where they can submit them to the Scientific Committee. Every appeal will be reviewed by the Scientific Committee and the team leader will be notified of the committee’s decision. All appeals and their disposition will be summarised at the final GA meeting of that competition day. 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, the new results will be published again. Score changes resulting from this are not appealable.