Important Notice: In order to register for the Team Formation Test and APIO, students must attend at least 1 regular training session to become an official Training Team member.

Please visit this page frequently for rule updates.

Updated on 2019-04-15
Updated on 2019-04-16
Updated on 2019-04-27
Updated on 2019-05-18


Date: 4th May 2019 (Saturday)
Time: 14:00 to 19:00 (5 hours)
Venue: Room 924, Ho Sin-Hang Engineering Building, The Chinese University of Hong Kong

* Please arrive at 13:30 to test the machines and the programming environment.
* Contestants who are late for more than 30 minutes will be disqualified.
* Early leave is not allowed.
* Refreshments will be provided during the test.

Competition Details and Eligibility

Criteria for participating in the TFT
  • An individual medal winner in HKOI 2018/19.
  • Has an HKOI Online Judge account with the role “HKOI Trainee (2019)”.
  • A full-time Hong Kong secondary school student at all times between 1st Sept 2018 and 1st June 2019.
International Olympiad in Informatics (IOI) National Olympiad in Informatics (NOI) ACM-HK Programming Contest (ACM-HK) International Olympiad of Metropolises (IOM) HKOI Training Camp
Date 4th – 11th August 2019 14th – 20th July 2019 22nd June 2019 1st – 6th September 2019 29th June – 2nd July 2019 (4D3N)
Location Baku, Azerbaijan Guangzhou, Guangdong Hong Kong University of Science and Technology Moscow, Russia The Chinese University of Hong Kong
Additional Criteria
  • Born on or after 1st July 1999
  • A holder of Hong Kong Permanent Identity Card
  • Born on or after 1st July 2000
  • A holder of Hong Kong Permanent Identity Card
  • Able to read simplified Chinese
  • None
  • Born between 2nd June 2000 and 1st June 2005 (inclusive)
  • A holder of Hong Kong Permanent Identity Card
  • To be confirmed


Students who do not meet the general criteria but have the role “Non Trainee (2019)” may participate as observers.
Eligible students and observers may register through the judge’s Contests page on or before 30th April 2019 (Tue). Walk-in is NOT ALLOWED.

Allowed Programming Languages

Students who wish to be considered for a competition may only use the following programming languages. Note that this table does not correspond to the languages the competitions officially allow. Languages not listed below are not allowed.

C++14 Yes Yes Yes Yes Yes
C No Yes
2020: No
No Yes
2020: No
2020: No
Pascal No Yes
2020: No
No Yes
2020: No
2020: No
Java (note) Yes No Yes Yes Yes

Using a programming language not allowed for a competition would not immediately render one ineligible for it. However, such submissions would not count towards the ranking for that competition (see below).

All tasks can be solved using C++. For Java, we do not guarantee that a working compiler or IDE can be provided. Also, some tasks may not accept Java solutions.


  • Intel 4th Generation Core i5 Processor or above
  • 4 GB RAM or above (Note: the memory limit for your programs is likely to be much less than this)
  • Standard hardware peripherals (i.e. Keyboard, Mouse, Monitor)

Personal Keyboards

Contestants can bring one personal keyboard for use in the competition. Wireless keyboards, keyboards 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 keyboard.

Installed Software

Operating System: Ubuntu 18.04.2 LTS Desktop

The Linux environment includes:

  • GCC 7.3
  • G++ 7.3
  • GDB 8.1
  • Free Pascal 3.0.4
  • Lazarus IDE 1.8
  • Visual Studio Code
  • Firefox Web Browser (for accessing the judge and documentation)
  • Free Pascal and C++ STL documentation

Plus additional optional software. We cannot guarantee the proper functioning of such software. Contestants may use them at their own risk.

  • Eclipse with JDK Plugin
  • Code::Blocks IDE
  • IntelliJ IDEA

Submitted programs will be compiled using the compilers and compilation flags specified in the Help page of the Online Judge. The organiser will provide all the necessary hardware and software for the competition. Participants are not allowed to use any of their own resources in the competition.


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 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 raising their hand. 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 immediately after the competition. 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.

Selection Algorithm

One ranking for each external competition will be produced. For each competition:

  • – The ranking will only include the students who commit to attend the competition.
  • – Students will be ordered by the total subtask scores after removing submissions made in disallowed languages.
  • – In case of ties, compare their last submission that resulted in a score increase. The one with the earlier submission time shall rank higher.

Then, the potential delegates will be selected as follows:

Step 1: 4 IOI members

The top 4 students in the IOI ranking will be selected.

Step 2a: 4 NOI members

The top 4 students in the NOI ranking, excluding the selected IOI members, will be selected.

Step 2b: 1 NOI member

If any of the 4 previously selected NOI members is female, then the next student in the NOI ranking, excluding the selected IOI members, will be selected.
Otherwise, the next female student in the NOI ranking, excluding the selected IOI members, will be selected.

Step 3: 2 IOM members

The top 2 students in the IOM ranking will be selected.

Step 4: (TBC) ACM-HK members

All selected IOI and NOI members must attend ACM-HK. The top students from the ACM-HK ranking will be selected until there are (TBC) students (TBC no. of teams). Participation in ACM-HK is not guaranteed and is subject to the organiser’s confirmation. The HKOI Training Team will submit an ordered list of teams. The default teams are assigned according to the selection order above. Teams may swap members with the approval of all members in both teams, with the exception that the IOI, NOI and IOM team members must stay in the first 3 teams.

Step 5: Minimum 20 HKOI Training Camp participants

All selected IOI, NOI and IOM members must attend the HKOI Training Camp. The top students from the Training Camp ranking will be selected with the exception that a minimum of 4 female students will be selected. The training team may invite additional students, including non-members, to join the Training Camp.

Other Opportunities

Should there be other learning opportunities, the training team may select members with reference to the TFT and APIO ranking and eligibility criteria.

Required Commitment and Results Announcement

The training team will submit the test results, student profiles, attendance records and comments from the trainers to the Hong Kong Association for Computer Education and the Education Bureau for review and approval. Potential delegates (including backup members) will be requested to sign a Commitment Agreement and Parent’s Consent which must be returned to the Organizing Committee within 7 days in order to be considered further. Withdrawal will not be permitted under any circumstances once the document has been signed.

Potential delegates will be notified of the final selection results. The HKOI Organizing Committee’s decision shall be final.

All selected members are required to attend ACM Hong Kong. IOI, NOI and IOM team members are required to attend the Training Camp, and additional team training sessions in July.