Allowed Programming Languages
The only allowed programming language is C++17.
Each contestant will be assigned a workstation to connect to the competition Virtual Machine via Chrome Remote Desktop. Contestants must not interact with the workstation outside the Virtual Machine.
CPU: 4 vCPUs (implemented as 4 hyperthreads on 2 physical cores). Base frequency 2.5 GHz or higher.
Memory: 8 GB or higher
Disk space: At least 2 GB free space on local disk
Contestants are highly recommended to bring one personal keyboard, one mouse and one mousepad for use in the competition. Wireless devices or devices that require installation of drivers, and mechanical keyboards fitted with “blue” switches (or equivalent) are not allowed. The adjudicators reserve the right to examine and disallow any device.
– Operating System: Debian 10 “Buster”
– Display Manager: XFCE4
– Google Chrome
– Software listed in the “Programming Languages” section
– gdb, vim, nano, zip, unzip, cppreference-doc-en-html
Submitted programs will be compiled using the compilers and compilation flags specified in the Help page of the Online Judge. Participants are not allowed to use any of their own resources in the competition.
The paper is only available in English. The paper shall consist of several programming tasks. Each task may carry different points. Each task will be further divided into one or more subtasks. Each subtask may carry different points.
The syllabus consists of the latest version of the IOI syllabus, and all materials covered during this year’s Regular Training sessions.
Submission of Solutions and Adjudication
Contestants should submit their solution source codes to the Online Judge. The judge will compile the source codes submitted by contestants, and then assess the compiled programs by testing them with a set of data unknown to the contestants and a marking scheme to be determined by the Adjudicators. To score points for a subtask, contestants’ programs must be correct for all test cases in that subtask.
Contestants will receive feedback about their submissions, including the type of error first encountered (if any) for each subtask. A contestant’s final score will be the sum of points received from solved or partially-solved subtasks. Contestants may submit at most once per task per 60 seconds, and at most 50 times per task.
During the competition, contestants are allowed to seek clarification on the wordings of the tasks from the Adjudicators by using the competition web interface. Should the condition deem necessary, the clarifications will be announced to all contestants. Clarification related to the solutions will not be entertained.
Any queries about the competition should reach the Chief Adjudicator within 5 minutes after the end of the competition, before leaving the venue. The decision of the Adjudicators will be final.
There is a small chance that the score may change due to change of tests, or indeterminacy of the contestant’s submission. Indeterminacy may arise intentionally due to the use of pseudo-random number generators, or unintentionally due to programming bugs or marginal running time. The Hong Kong Olympiad in Informatics Organizing Committee reserves the right to re-evaluate submissions, and the final score will be that yielded by the final evaluation.
If contestants wish to go to the toilet during the test, they must make a request using the Questions / Announcements feature. Contestants may only go to the toilet upon approval by the invigilators. The invigilators may reject any request that is deemed excessive, or if another contestant is visiting the toilet. It will be regarded as cheating if you leave the seat without the invigilator’s approval.