Final Event
In the Final Event, participants of both Groups will take a practical test. The duration will be 3 hours. Contestants who do not show up by the reporting time will be disqualified. Early leave is not allowed.
Format
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.
Contestants will only receive the language version selected in the nomination form. However, contestants may read the other language version by changing the HKOI Online Judge display language setting.
Submission of Solutions and Adjudication
Contestants should submit their solution source codes through a web interface. The adjudicators 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 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.
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 random number generators, or unintentionally due to programming bugs or marginal running time. The Adjudicators reserve the right to re-evaluate submissions, and the final score will be that yielded by the final evaluation.
Programming Languages
Contestants shall answer in C++ (C++20) using g++-12.
Contestants may also use the following 2nd-class programming languages and development software. 2nd-class programming languages are experimental. We cannot guarantee that the problems are solvable using such languages. We also cannot guarantee the proper functioning of the software provided. Contestants may use such languages at their own risk.
2nd-class Language |
2nd-class Development Software |
Pascal |
Free Pascal 3.0.4 |
C (C99) |
gcc-12 |
Java 8 |
JDK 1.8.0 |
Python 3.8 |
Python 3.10.7 |
Not Applicable |
HKOI Online Judge ‘Code’ feature Visual Studio Code (with Pascal, C/C++, Java, Python and Code Runner plugins) |
Resources and Workstation
Each contestant will be assigned a workstation to connect to the competition Virtual Machine. Contestants must not exit the Virtual Machine environment to interact with the workstation.
Contestants are not allowed to use any other written or electronic resources in the competition.
Virtual Machine
Hardware
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
Personal Keyboard and Mouse
Contestants are recommended to bring one personal keyboard and one mouse 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.
Software
– 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.
Queries
During the competition, contestants are allowed to seek clarification on the wordings of the tasks from the Adjudicators by using the Questions / Announcements feature. Should the condition deem necessary, the clarifications will be announced to all contestants. Clarification related to the solutions will not be entertained.
Assistance
If contestants wish to drink water or go to the toilet, they must make a request using the Questions / Announcements feature. Contestants may only drink water or 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 drink water or leave the seat without the invigilator’s approval.