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.


Date: 12th May 2018 (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 2017/18.
  • Has an HKOI Online Judge account with the role “HKOI Trainee (2018)”.
  • A full-time Hong Kong secondary school student at all times between 1st Sept 2017 and 1st June 2018.
International Olympiad in Informatics (IOI) National Olympiad in Informatics (NOI) ACM Hong Kong Collegiate Programming Contest (ACM-HK) International Olympiad of Metropolises (IOM) HKOI Training Camp
Date 1st – 8th September 2018 16th – 22nd July 2018 23rd June 2018 2nd – 7th September 2018 30th June – 2nd July 2018 (3D2N)
Location Tsukuba, Japan Changsha, Hunan City University of Hong Kong Moscow, Russia The Chinese University of Hong Kong
Additional Criteria
  • Born on or after 1st July 1998
  • A holder of Hong Kong Permanent Identity Card
  • Born on or after 1st July 1999
  • A holder of Hong Kong Permanent Identity Card
  • Able to read simplified Chinese
  • Born between 2nd June 1999 and 1st June 2004 (inclusive)
  • Born on or BEFORE 30th June 2006


Students who do not meet the general criteria but have the role “Non Trainee (2018)” may participate as observers.
Eligible students and observers may register through the judge’s Contests page on or before 10th May 2018 (Thu). 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++ Yes Yes Yes Yes Yes
C No 2018-19: Yes
2020 onward: No
No Yes Yes
Pascal 2018: Yes
2019 onward: No
2018-19: Yes
2020 onward: No
No Yes Yes
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 16.04.2 LTS Desktop

The Linux environment includes:

  • GCC 4.9.3
  • G++ 4.9.3
  • GDB 7.11
  • Free Pascal 3.0.0
  • Lazarus IDE 1.6
  • Eclipse 4.6 with JDK Plugin
  • Code::Blocks IDE 16.01
  • Sublime Text 3
  • Visual Studio Code
  • Firefox Web Browser (for accessing the judge and documentation)
  • Free Pascal and C++ STL documentation

However, 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 is identical to the latest version of the IOI syllabus, which can be found here.

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, excluding the selected IOI members, will be selected.

Step 4: 15 ACM-HK members

All selected IOI, NOI and IOM members must attend ACM-HK. The top students from the ACM-HK ranking will be selected until there are 15 students (5 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 delegates must stay in the first 3 teams.

Step 5: 15 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 3 female students will be selected.

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.