top of page
NOI.png

What is NOI?

The Singapore National Olympiad in Informatics (NOI) is a premier computing competition modeled after the International Olympiad in Informatics (IOI).

 

NOI is a fantastic opportunity to gain recognition, secure scholarships , and boost your chances of getting into top computing schools around the world!

 

NOI emphasizes algorithmic problem-solving and programming skills. Hosted annually by NUS since 1998, NOI also welcomes international participants since 2016.

Register Now!

Competition date:

22 Feb 2025

 

Closing date of registering: 9 Feb 2025

The successful registration is confirmed upon receipt of the registration fee.

The NOI Competition is divided into two contests:

• Online Preliminary Contest

• Final Contest

NOI Eligible year groups: NZ Year 8-13.

Exam Format: 

Preliminary: online at home.

Final Contest: onsite at the NUS School of Computing.

Exam Date:

Online Preliminary: 22 February, 2025

Final Contest: 22 March 2025, 10:30 to 18:00 Singapore time

 

Exam Time (Online Preliminary)

17:00 - 22:00 (NZ time)

12:00 - 17:00 (Singapore time, NZ -5)

Registration Deadline: 

Preliminary: 9 Feb 2025

Highlights

Prestigious Competition:

NOI nurtures top programming talent, fostering creativity in algorithmic problem-solving.

Rigorous Challenge:

A 5-hour contest requiring contestants to solve complex programming tasks with efficiency and precision.

Fees for Online Preliminary is $525.00 per student.

Fees for the NOI Final is $390.00 per student.

Please note: strictly not accept late registrations.

The successful registration is confirmed upon receipt of the registration fee.

BANK: ANZ

Name of Account: Pinnacle Education Group

Account: 06-0241-0684634-00

 

Please make payment with the students 'full name + NOI ' as reference.

⚠️ Please note that any fees and payments made are non-refundable.

⚠️ Before you make any payment, make sure you read through the refund policy on our website to avoid misunderstandings.

(Terms and conditions apply).

PGA reserves the right to interpret all competition and course arrangements.

When registering multiple students, complete a separate registration form for each student, and ensure that you use a different email for each student.

Upload Screenshot

Thanks for submitting!

Preliminary

CMS Practice Period

Date:

21 Feb 2025

 

Schedule: (NZ time)

13:00 Start of NOI CMS Practice Period

23:59 End of NOI CMS Practice Period

Just prior to the Online Preliminary 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.

 

Details for accessing the CMS will be emailed to contestants before the practice period opens.

Screenshot 2025-02-02 at 6.08.19 PM.png

Online Preliminary Contest

Date:

22 Feb 2025

Contest:

5 tasks in 5 hours

 

Schedule: (NZ time)

17:00 Start of NOI Online Preliminary Contest

22:00 End of NOI Online Preliminary Contest

For the Online Preliminary Contest, the NOI Committee recognises the limitations of the schools and will allow the restrictions to be dictated by SIMCC. As such, SIMCC may define their own rules around the supplies (including the computers) made available to the contestants, as long as the following are observed.


• Contestants must compete individually. They should NOT communicate with anyone during the duration of the contest.
• Apart from their use of the CMS, contest≠ants must not access the internet for any other reason.
• Contestants should not use any code (in electronic form) that was prepared before the contest. (Note that printed code is acceptable.)

 

Failing to follow these basic constraints will only place the contestants from SIMCC at a significant disadvantage during the Final Contest.

Final

Practice Period

Date:

22 March 2025

 

Schedule: (Singapore time)

9:00 (TBC) Start of NOI Practice Period

10:00 (TBC) End of NOI Practice Period

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.

Final Contest

Date:

22 Mar 2025

 

Schedule: (Singapore time)

10:30 Start of NOI Final Contest

18:00 End of NOI Final Contest

For the Final Contest, which will be conducted onsite at the School of Computing, contestants are expected be in school uniform for the entire duration of the Final Contest.

 

Any contestant who reports late to the Final Contest will be deemed to be absent and will not be allowed to participate. These contestants will not be given a Certificate of Participation.

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:
• any computing equipment (e.g., keyboards, mice, calculators, laptops, tablets),
• any data storage medium (e.g., CD-ROMs, USB drives, flash cards, micro-drives),
• any communication devices (e.g., mobile phones, radios of any sort),
• smart watches of any type, and
• snacks.
There is no bottled water and no snacks from this year onwards.

Languages supported:

C++

 

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.

Screenshot 2025-02-02 at 6.22.36 PM.png

Python

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.

Coding Environment

The CMS workers of this year's NOI will run on the older Ubuntu 20.04 LTS with the following compilers:
• g++ 9.4.0
• Python 3.8.10

 

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:
• g++ 9.4.0 (or higher, but take note that CMS uses g++ 9.4.0)
• Python 3.8.10 (or higher, but take note that CMS uses Python 3.8.10, i.e., do not use "match case", etc.)

 

The following editors/IDE will be installed on each computer:
• Geany
• GNU Emacs
• CodeBlocks
• Gvim
• Command line vim and nano

 

The following utility programs will be installed on each computer as well:
• Firefox (Browser)
• Document Viewer (PDF Viewer)

 

The following documentation will be provided locally on the contestant machine:
• Python 3.8 Docs (to be upgraded to match the version in Ubuntu 22.04, but do not use features that are beyond Python 3.8.10)
• CPP Reference with C++11, 14, 17 and 20

Tasks

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):
• Batch
• Interactive
• Communication


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.

algorithm 5.png

Task Statements

For both the Online Preliminary 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 both Online Preliminary Contest and Final Contest, no printouts will be available.

Supplies

For both contests, contestants are also allowed to bring the following.


• Additional clothing (such as jackets)
• Writing stationary
• Small mascots
• Written or printed reference materials and books (NOI is an open book competition)
• Blank papers
• Printed programs
• English dictionaries
• Medical supplies and equipment

 

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 Preliminary 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.

Starting the Competition

Online Preliminary Contest

Students should arrive on time. However, while late arrivals are allowed for this contest, contestants who arrive late will not be given any additional time.

 

Contestants should be able to access the CMS prior to the contest proper. This information will be made available when the CMS account details are sent to each school.

Final Contest

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.

Clarification Requests

During both the Online Preliminary Contest and 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. 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:


• “YES”

• “NO”
• “ANSWERED IN TASK DESCRIPTION (EXPLICITLY OR IMPLICITLY)” — The task description contains sufficient information. The contestant should read it again carefully.
• “INVALID QUESTION” — The question is most likely not phrased so that a yes/no answer would be meaningful. The contestant is encouraged to rephrase the question.
• “NO COMMENT” — The contestant is asking for information that the Scientific Committee cannot give.

Grading System @ Contest Management System

Submitting

The following applies to both the Online Preliminary 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 may submit a solution to each task at most once in a certain time interval.
• Contestants may submit at most a certain number of solutions for each task.


Contestants will be informed of the actual values of these limitations. For the Online Preliminary 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.

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 Preliminary Contest, it is the responsibility of the schools and their respective proctors to ensure that the contestants are able to access the grading system.


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).

Feedback

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:


• Wrong Answer
• Run-Time Error (or Out of Memory)
• Time Limit Exceeded
• Security Violation


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:


• Due to a successful appeal after the contest.
• In some cases, the contestants’ submissions may be re-evaluated. This re-evaluation may sometimes lead to a different total score. (E.g., if a solution behaves non-deterministically or runs very close to the time or memory limit.) In such cases, the final score for the submission is the score for its latest re-evaluation. This change in scoring cannot be appealed. Note that the final score for each subtask is still the maximum score over all submissions.


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.

Printing

NOI does not provide printing services. You are encouraged to print any required materials and bring it to the contest before it commences.

Backups

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.

Assistance

Online Preliminary Contest

SIMCC 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.

Final Contest

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.

Ending the Competition

Three warnings will be given at 15 minutes, 5 minutes, and 1 minute before the end of the competition.

Online Preliminary Contest

The proctors will be responsible for ensuring the same actions listed below are executed.

Final Contest

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.

Cheating

The following applies to both the Online Preliminary Contest and the Final Contest.
Contestants must use only the workstation and account assigned to them for the contest. In particular:


• contestants must not attempt to submit illegal programs as discussed above, nor try to tamper with or compromise the grading system;
• contestants must not attempt to gain access to root or any account other than the one assigned to them;
• contestants must not attempt to store information in any part of the file system other than the home directory for their account or the /tmp directory;
• contestants must not touch any workstation other than the one assigned to them;
• contestants must not attempt to access any machine on the network or the Internet, other than to submit tasks and view submission results through the grading system;
• contestants must not attempt to reboot or alter the boot sequence of any workstation;
• contestants must not communicate with other people during the competition, other
than NOI support staff and/or Scientific Committee members;
• contestants must not reverse engineer the test data and solve the problems in highly
test-data-dependent manners. One example of such behaviour is using the feedback system to extract the test data and then applying this knowledge to build solutions adapted to the specific test cases in the grading system. This behaviour would be considered cheating only if a contestant submitted a solution that would solve significantly fewer test cases correctly if the test data were replaced by an equivalent set of test cases (e.g., one generated with a different random seed).

 

All of the above actions are considered cheating and may result in disqualification.


As previously mentioned, NUS realises that not all these rules may be enforceable by SIMCC. However, they are listed so that SIMCC may apply their best effort to align the Online Preliminary Contest with the rules that will be enforced in the Final Contest.
 

Recall that SIMCC must minimally ensure that the following rules are enforced during the Online Preliminary Contest:


• Contestants must compete individually. They should NOT communicate with anyone during the duration of the contest.
• Apart from their use of the CMS, contestants must not access the internet for any other reason.
• Contestants should not use any code (in electronic form) that was prepared before the contest. (Note that printed code is acceptable.)

Appeal Process

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:


• Every attempt will be made to fix test data and regrade all solutions as quickly as possible during the execution of the contest.
• Additional test data may be added only when the grading data does not meet the intention of the Scientific Committee from before the contest.
• Late detections of issues, especially during the last 2 hours of the contest, may be grounds for extending the length of the contest.

Results

The results of the NOI competition will be announced within two weeks of each contest on social media. The certificate and medals will be delivered to PGA.


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.

Prizes

Only contestants who are present for the Final Contest will be applicable to compete for a medal 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.

Gold Medals: about N/12 contestants

Silver Medals: about N/6 contestants

Bronze Medals: about N/4 contestants

NOI committee follows the latest IOI award boundaries regulations (except honourable 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.

Individual Awards

• Four top contestants (overall)
• Two top secondary school contestants
• Top female medallist
• Youngest medallist

School Awards

• Two top junior colleges
• Two top secondary schools

Special Awards Constraints

• Individual awards are given based on the total Final Contest scores of individual contestants. In the event of a tie, the difficulty ranking of the tasks will be used to break the tie.
• The awards for the two top secondary school contestants are given to secondary school contestants with the highest scores outside of the four top contestants (overall).
• To qualify for the school awards, the participating school must field at least three contestants in the Final Contest.

 

The criteria for selecting the top schools are:
• The average score of the top three contestants from the same school.
• In the event of a tie, the medal tally will be used to break the tie.
• In the event that the tie persists, the relative positions of the medallists will be used to break the tie.


All foreign Contestants will be given corresponding Gold, Silver, and Bronze awards based on the cut-off point for the Singapore contestants.

IJHS and YALA

IJHS intro 1.png
IJHS intro 2.png
IJHS intro 3.png
YALA Camp intro.png
bottom of page