|3 February||Registration deadline for NOI||before 2359|
|18 February||NOI Online Qualification Contest||1200 to 1700|
|18 March||NOI Final Contest||1030 to 1800|
The NOI Competition is divided into two contests:
Eligible students may register through their school in Singapore to take part in the NOI Competition. A representative from each school (i.e., a teacher) must be responsible for registering all interested students from their school. The school representative should sign up on this website to enrol all interested students as contestants.
Any students who are not enrolled in a local school may contact the Operations Team to be considered. Please refer to Eligible before making such an appeal to participate in the NOI Competition.
Any number of contestants from each school may take part in the Online Qualification Contest. Based upon the Online Qualification Contest results, the top five contestants from each school, will be invited to participate in the Final Contest. The Final Contest will be conducted onsite at the School of Computing.
Do note that there will be a registration fee for each contestant registered. This registration fee applies to all contestants registered, and not just to the contestants who qualify for the Final Contest.
The deadline for registering for the NOI Competition is 3 February 2023.
As noted above, a school representative (i.e., teacher) must sign up on this website and enrol all interested students.
|Date:||17 February 2023|
|Contest URL:||[already emailed to contestants]|
Just prior to the Online Qualification Contest, contestants will be given remote access to the Contest Management System (CMS). During this period, a practice contest will be available so that the contestants may acclimatise themselves to the CMS.
|Date:||18 February 2023|
|Contest:||5 tasks in 5 hours|
|Languages supported:||C++ and Python 3*||*See Programming Languages
|Contest URL:||[already emailed to contestants]|
All local schools may register any number of contestants. Each contestant should be registered under one category, Secondary or Junior College.
All participating schools are expected to proctor their own contestants and ensure that no cheating takes place. Please reference the Rules and Regulations.
Only the top five contestants* from each school and category (i.e., Secondary or Junior College) will be invited to participate in the Final Contest. All contestants who do not qualify for the Final Contest will be awarded a Certificate of Participation (unless their score for the Online Qualification Contest is 0). The contestants taking part in the Final Contest will then compete for medals.
*Update on Sun, 19 Feb 23: "...top five contestants with non-zero scores from..."
|Date:||18 March 2023|
|Time:||1030 to 1800|
|Contest:||5 tasks in 5 hours|
|Languages supported:||C++ and Python 3*||*See Programming Languages|
The Final Contest will be conducted onsite at the School of Computing. All contestants must be present in order to be able to compete for a medal. More specifically, it will be conducted in the COM1 labs, COM3 labs, and I3 labs.
Only the top 5 contestants with non-zero scores from each school and category (i.e., Secondary or Junior College) will be invited to participate in the Final Contest. Contestants who qualify for the Final Contest will be informed via email (via their teachers). This communication will also include further instructions regarding the Final Contest.
While participating in the Final Contest, contestants will be expected to adhere to the Rules & Regulations.
Attendance of the briefing session is compulsory. Without prior approval from the committee, contestants who do not appear by 1030hrs will not be allowed to participate in the competition, even if the contestant shows up before 1300hrs.
Please also note the following.
All contestants in the NOI Competition must satisfy one of the following conditions.
Note: For the Final Contest, all contestants satisfying constraint (1) are subject to the top-five contestant quota (based on the results of the Online Qualification Contest) for each school (and category - i.e., Secondary or Junior College). Further, only the top-five ranked contestants (based on the results of the Online Qualification Contest) among those falling under constraints (2) and (3) will be allowed to participate in the Final Contest. The latter is because the contestants participating under constraints (2) and (3) have no local school.
The top overall winners of past NOIs (four in each year) and past IOI contestants are not permitted to officially participate in the Final Contest. Consequently, they will also not be eligible for any NOI medals or special awards.
Instead, the top overall winners of past NOIs and past IOI contestants will be invited to participate in NOI unofficially, provided they satisfy at least one of the eligibility constraints listed above. They, as well as the top contestants of NOI in year Y will be invited to the year Y IOI training team.
Note that while certain cases may be deliberated by the NOI committee, any decisions reached may not be further appealed.
As mentioned above, only contestants who are present for the Final Contest will be applicable to compete for a medals and prizes. Accordingly, let N denote the total number of contestants who are present during the Final Contest. Based on the ranking and scores of these N contestants during the Final Contest, the following medals are awarded.
NOI committee follows the latest IOI award boundaries regulations (except honorable mention) when awarding the medals.
Apart from the above medals, there are also eight individual awards and four school awards. These special awards are described below.
The selection for the IOI team in year Y will be chosen from among those selected to join the IOI training team. The top contestants in the NOI Final Contest in year Y (i.e., typically all those who attained a Gold Medal, and some who attained a Silver Medal with a relatively high score) will be selected to join the IOI training team. (Note that only Singapore citizens and permanent residents are eligible for IOI, but NOI does not impose such restrictions. Refer to the section on Eligibility above.)
The NOI Competition is divided into two contests:
During either contest, contestants will be given up to 5 tasks to be solved under time constraints. The Qualification Contest will be conducted online, whereas the Final Contest will be conducted at the School of Computing.
There are Practice Sessions for both the Online Qualification Contest and the Final Contest.
For the Final Contest, a one-hour Practice Session will be conducted prior to actual contest. This is to allow contestants to test the machines they have been assigned.
Refer to CMS Practice Period.
For the Final Contest, which will be conducted onsite at the School of Computing, students are expected be in school uniform for the entire duration of the Final Contest. Any contestant who report late to the Final Contest will be deemed to be absent and will not be allowed to participate. These students will not be given a Certificate of Participation.
The proctoring for the Online Qualification Contest is left to the discretion of the school representative (i.e., the teacher). This representative will be responsible for setting up an adequate contest venue and to perform the adequate proctoring of the contestants. The representative is also responsible for dictating the necessary attire for the contest (which should be aligned with the school's rules).
All of the tasks at NOI Competition are programming tasks and are designed to be of an algorithmic nature. The focus is on designing correct and efficient algorithms. Contestants would be expected to design a source code program to solve the provided task during the competition.
The NOI takes direction from the International Olympiad in Informatics (IOI). In particular, the scope of NOI tasks will be in line with the latest updated IOI Syllabus (for IOI 2020).
The source program provided by the contestant must be contained in one source file as specified in the task statement.
Each task will be divided into several subtasks, each worth a portion of the total points. Each task would have equal weightage in the contest.
Time and memory limits will be specified for every task. In general, time and memory limits will be generous (for example, double those required by the expected solution). The memory limit is on the overall memory usage including executable code size, stack, heap, etc.
However, the Scientific Committee would only guarantee that there exists a solution that fulfils the time and memory limits only in the C++ language. Contestants using Python are advised to exercise discretion.
Each task can be one of the following types (non-exhaustive):
For Batch tasks, contestants are expected to read and write from standard input and output in the format specified in the task descriptions. At least one sample input and output would be provided in the task description. No template files would be provided.
You may assume that the input data agrees with the format specified in the task description. In particular, NOI will use UNIX-style end-of-line and end-of-file characters.
Your output should be formatted exactly as shown in the task description. Do NOT add output of your own (such as debugging output), as this may disrupt the judging process.
For all other task types, contestants will be provided a folder which will contain interface files, a sample grading program, and a skeleton implementation of the required source file, which exercises the interface but does not correctly solve the problem. The sample grader provided on the workstation would not be the same as the official grader used by the grading system. Contestants are recommended to modify the provided skeleton implementation and follow instructions on how to compile and test the program locally.
Sample input and output might be provided. However, they may not be explanation with regards to their structure in the task description. Contestants are not to assume that the input and output data on the grading system is similar to the ones provided for testing.
Due to technical limitations, the interface files are provided only in the C++ language. Contestants will not be able to solve such tasks using Python.
For both the Online Qualification Contest and the Final Contest, each contestant will have online access to the official English version of tasks in electronic format (PDF) via the CMS.
For the Final Contest, no printouts will be available.
For the Online Qualification Contest, the proctor may print the Task Statements for the contestants. However, they are encouraged not to do in consideration for our environment.
For both contests, contestants are also allowed to bring the following.
Should a contestant wish to bring any other materials, permission must be sought from NOI Committee. This must be communicated at least one day prior to each contest.
During the Online Qualification Contest and the Final Contest, there is to be strictly no sharing of materials. For instance, contestants are not allowed to share the same reference book during the competition.
For the Final Contest, any attempt to bring any other item into the contest venue room will be considered cheating. In particular, it is strictly prohibited to bring:
For the case of snacks, exceptions could be made for contestants with special dietary requirements.
During the Final Contest, light snacks and drinks may be provided outside the programming labs, at a centralized venue. An announcement will be made once these are available. Contestants must consume the snacks and drinks at the provided venues and are not allowed to bring food back to their workstation. In addition, contestants are reminded not to communicate with one another while consuming the snacks and drinks.
For the Online Qualification Contest, we recommend that proctors follow the rules listed above. However, the NOI Committee recognises the limitations of the schools, and will allow the restrictions to be dictated by the school. As such, each school may define their own rules around the supplies (including the computers) made available to the contestants, as long as the following are observed.
Failing to follow these basic constraints will only place the contestants from your schools at a significant disadvantage during the Final Contest. (Recall that the top five students (with a non-zero score) from each school will be invited to the Final Contest, so their scores for the Online Qualification Contest will only serve to rank the students in your own school.)
Contestants must wear their school uniform. Each contestant will be pre-assigned a workstation. Contestants should arrive punctually at the stipulated time. Contestants must also return to their workstation at least 5 minutes prior to the start of the contest proper. Before the contest proper, contestants must find their assigned computer, sit down, and wait for the competition to begin without touching anything (such as keyboards, mice, pen or paper), unless otherwise instructed.
The proctors should ensure that their students arrive on time. However, while late arrivals are allowed for this contest, contestants who arrive late will not be given any additional time. The proctors must also ensure that the contestants are able to access the CMS prior to the contest proper. There will be a communication channel for proctors to seek advice from the Technical Committee. This information will be made available when the CMS account details are sent to each school.
During both the Online Qualification Contest or the Final Contest, contestants may submit questions concerning any ambiguities or items needing clarification in the competition tasks. Questions and comments must be submitted online via the CMS. The Scientific Committee will respond to every question submitted by the contestants during the first half of the competition. Since replies might take some time, contestants should continue working while waiting for the answer to their questions.
Contestants should phrase their questions so that a yes/no answer will be meaningful. Questions will be answered with one of the following:
There is no restriction on the number of times a program may be edited, compiled, and run on a contest workstation. For the Final Contest, the workstations have network access to the grading system, as well as facilities such solution submission. For the Online Qualification Contest, it is the responsibility of the schools and their respective proctors to ensure that the students are able to access the grading system via the CMS.
Grading and evaluation take place on the grading system, which provides a similar execution environment to that of the contestant workstation. Grading workstation will have the same hardware and software configuration as contestant’s workstations during the Final Contest (except for programs required for monitoring and the grading system).
The following applies to both the Online Qualification Contest and the Final Contest.
Contestants must submit their solutions for tasks by using the grading system. To avoid overloading the grading system, there are two restrictions on the number of submissions:
Contestants will be informed of the actual values of these limitations. For the Online Qualification Contest, this will be communicated via the CMS. However, for the Final Contest, it will be communicated during the briefing session. Typically, contestants would be allowed to submit to each task at most one per minute and at most 30 submissions per task.
Each submitted source program must be written in C++ or Python and it must be smaller than 256 KB, the evaluation server must be able to compile it in less than 10 seconds and at most 256 MB of memory.
Contestants can use the grading system to view the status of their submissions and get a short report on the compilation errors of their source code.
Full feedback will be available for every submission, indicating whether each subtask has been solved.
The score for each task will be the sum of the scores for all its subtasks. The score for each subtask will be the maximum score for that subtask across all submissions for the task. (For example, consider a contestant who made two submissions on a task that contains two subtasks. First submitted solution got 30 points for the first subtask and 10 points for the second subtask, second solution got 0 points for the first subtask and 50 points for the second subtask, then the final score for this task will be 80, the sum of the maximum score of each subtask.)
If a subtask is not solved, then the grading system will give the feedback for the first input scenario, which was not solved correctly. The feedback will contain the input scenario number and one of the following reasons:
Inputs are ordered the same way in all the runs. No information on the actual data, the output produced by the contestant solution or any other execution details will be given to the contestant.
It should be noted that the score reported in the full feedback is only provisional. There are two ways how this score may change after it has been reported to the contestant:
Feedback would be provided on a best effort basis. Although the Technical Committee will strive to ensure the timeliness of the feedback provided, unforeseen circumstances might occur. Lack of submission feedback do not constitute grounds for appeal. However, the Scientific Committee and Technical Committee might provide other forms of assistance if such circumstances occur.
NOI does not provide printing services. You are encouraged to print any required materials and bring it to the contest before it commences.
Copy of files submitted to the online submission system are saved. You can retrieve old copies of your code from the submission system. This serves as a backup of your code. You are advised to maintain backups regularly, so that you can recover in the unlikely event of a machine failure.
During the Final Contest, contestants may ask the support staff for assistance at any time. The staff members will not answer questions about the competition tasks, but will help locate toilets and refreshments (if available), and assist with computer and network problems. The only manner in which contestants are allowed to access the network is via the grading system: even running a single "ping" command is strictly prohibited and may lead to disqualification.
Contestants should never attempt to fix or debug or even check computer or network problems themselves; instead, they should ask for assistance.
The school and its proctors are responsible for providing assistance that does not involve the CMS. There will be a support channel made available to proctors to allow them to seek assistance from the Technical Committee about the CMS and from the Scientific Committee about the Tasks.
Three warnings will be given at 15 minutes, 5 minutes, and 1 minute before the end of the competition.
During the Final Contest, each warning will be announced verbally by NOI support staff. The end of the competition will be announced verbally as well. At the announcement ending the competition, contestants must immediately stop working and wait at their desks without touching the computers or anything on their desks. An additional announcement will be made instructing them to leave their tables and exit the competition room.
At the end of the competition, contestants should remove all personal items including their mascots and dictionaries; nothing should be left behind.
The proctors will be responsible for ensuring the same actions listed above are executed.
The following applies to both the Online Qualification Contest and the Final Contest.
Contestants must use only the workstation and account assigned to them for the contest. In particular:
All of the above actions are considered cheating and may result in disqualification.
As previously mentioned, we realise that not all these rules may be enforceable by the schools. However, they are listed so that schools may apply their best effort to align the Online Qualification Contest with the rules that will be enforced in the Final Contest.
Recall that the school must minimally ensure that the following rules are enforced during the Online Qualification Contest:
Submitted solutions are evaluated using data which conform to the specification given in the problem statement, but which are hidden from competitors during the competition.
Provisional grades, based on these tests, are available immediately to competitors. 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:
The results of the NOI competition will be announced within one week of each contest on this website. The certificate and medals will be delivered to each school (unless communicated otherwise).
The decisions of the NOI Committee will be final.
Remember, these rules & regulations may be subject to change.
The above NOI rules are adapted from IOI 2022 rules, with modifications.
The CMS workers of NOI 2023 run on the older Ubuntu 20.04 LTS with the following compilers:
The competition computers are Intel PCs with slightly more up-to-date Ubuntu 22.04 LTS, each equipped with a keyboard and a mouse. The following compilers will be installed on each computer:
The following editors/IDE will be installed on each computer:
The following utility programs will be installed on each computer as well:
The following documentation will be provided locally on the contestant machine:
C++ will be the main language of NOI. The Scientific Committee guarantees that there exists a solution to all tasks in C++ language. Template files (if any) will be provided in C++ language. The time limit and memory limit of tasks will be calibrated to those of C++ solutions.
C++ solutions will be compiled in a 64-bit UNIX environment with g++ 9.4.0 or later. "O2" compiler optimisation flag will be switched on. C++17 will be supported.
Python 3 is allowed for NOI. However, the Scientific Committee does not guarantee that there exist solutions to all tasks (and subtasks) in Python language. In addition, template files will not be provided in Python language and hence Python users will only be able to attempt tasks that are of the "Batch" type. There will be no extra time and memory limit for Python applications.
CPython would be used as the interpreter, not PyPy or other variants. Submissions would be judged in a 64-bit UNIX environment using Python 3.8.10.
Chairman: A/Prof Tan Sun Teck
Vice Chairman: Dr Steven Halim
Secretary: Dr Daren Ler
Scientific Chair: Mr Ling Yan Hao
Technical Chair: Mr Lai Zit Seng
Admin: Mrs Ho Siew Foong; Ms Teo Pei Pei
Technical Admin: Mr Leong Wai Kin
Operations: Ms Tan Ai Lian Vivian
Webmaster: Dr Steven Halim
The NOI operations team is tasked with handling the overall co-ordination between different committees. They are also tasked to communicate with various participants and their team representatives for the registration process. The following are the members of the NOI Operations Team:
The NOI Scientific Committee is tasked with the setting, preparation, and selection of problems for all contests of the NOI. The following are current members of the NOI Scientific Committee:
The NOI Technical Committee is tasked with the preparation and maintenance of contest infrastructure and configuring of contest problems for the NOI. The following are current members of the NOI Technical Committee: