Contest Rules 2017

These are subject to change until each contest begins.


All current secondary or intermediate school students in New Zealand.

Contest environment

Contest system

Each contest will be held online. After logging into, the contest will appear at the start time. When ready, students may start the contest. The 3 hours will begin at that time. The problems will be visible on the contest page, and submissions may be made from there. To submit a solution, students submit the source code, which will be compiled and executed on the judging system.

After the submission is judged, the results will appear immediately. Students may use this to fix any bugs. There are no guarantees on how long it might take for the submission to be judged, if there are a large number of submissions made at the same time.

Programming languages

Students may use any programming language supported by the site. Currently, these are C++ (C++11, C++03), C (C99), Java (1.6), Python (2.7, 3.4), Ruby (2.2) and Haskell (2010).

Because Python and Ruby are interpreted, it is possible that the required algorithms on some problems cannot be implemented efficiently, causing a timeout, and scoring only ~50-70%. If possible, there will be enough time for all languages, but this is sometimes not possible as a highly optimized but inefficient solution would otherwise pass. We will not increase the time limit for interpreted languages because this cannot be done fairly (C extensions may be used in parts of the standard libraries). Students who can solve these problems, but regularly timeout on the largest test cases are advised to use a compiled language.

Please note that with Java, the source code will be put in a file called, so submissions must use a class named Main.

Local editors and compilers

The editors and compilers on local machines may vary from school to school, depending on what is available, including the operating system installed on the computers.

We suggest that schools have at least a basic text editor (such as Gedit or Notepad++). The compiler may vary depending on the language, but for C++, gcc/g++ is suggested as this is what is used for judging. For Windows, Dev-C++ is a light-weight fully featured editor/IDE and compiler that is probably the easiest to install. It is also much easier to use as new users have trouble setting up projects in Visual Studio or Eclipse.

For power users, we suggest that the compiler be made available on the command line. This is already the case with Linux operating systems. For Windows, for which cmd.exe lacks many features and is difficult to use, MinGW (including a port of GCC) is recommended along with MSYS as a command-line interface. Cygwin is not recommended because it may be too slow.

Documentation and other material during the contest

While competing, students may only access the website, or an official (static) language documentation site (language documentation installed locally may also be used). Electronic language documentation (but not source code) stored locally is also permitted. Forums or interactive websites are strictly forbidden.

Students may also use any printed material during the contest, including language documentation, textbooks or source code. These materials may not be shared.

Students may not access or use any electronically stored source code, whether it is stored locally or on the internet. This includes source code written by the student prior to the contest. All source code submitted must be written during the contest, without any collaboration.


Students may ask a supervisor questions on administrative tasks, such as, when the contest ends or how to use the website to make a submission.

Questions such as how to solve a problem, how use a language feature, or where a bug is in a program will not be answered. The student should be able to find out how to use a language feature by reading the language documentation.

If a student is new to a programming language, we suggest that they bring printed sample source code for reference.

Any questions related to the problems should be emailed to for a response.


There will be official scoreboards for individual students, and for schools.

Each student will be scored for the year based on a weighted sum of their round 1-4 scores. The higher scores will have a larger weighting than lower scores.

Each school will receive a score based on the weighted average of their top 3 students in each round. The score for the year will be the sum of each round.


Cheating will result in disqualification.