South Pacific Programming Contests

Divisional Finals Rules & Instructions

Please see the contest page for links to the contest server on the day.


The Divisional Finals has two goals. To be an approachable contest for contestants of all levels, and to select the top teams for Regional Finals, which is the next stage of competition. See the Regional Finals rules for information about how teams qualify for the Regional Finals. In particular, the rules for who advances from Divsisional finals to regionals.

In 2022, there will be two Divisional level contests. Level A and Level B. Only Level A competitors are eligible to progress to the Regional Finals. By default, all teams are in Level B. Teams must manually opt-in to Level A by using a form (provided by email).

Level B is suitable for most teams. Level A is suitable for teams with experience and who believe they have a chance to compete for a place at the Regional Finals. If you have competed in informatics contests in high school, or if you have placed in the top 15 in an ANZAC, then Level A may be suitable for you.

We urge contestants and site-coordinators to treat the Divisional finals as an invigilated exam. Teams are expected to be on site and must follow all the rules. If you cannot have teams on site, please contact the Regional Contest Director.

  • Teams must be ICPC-eligible to advance to Regional Finals. However, we welcome non-eligible teams to compete as “unofficial” competitors. Unofficial competitors can follow instructions on the contest page on the day.
  • Teams must use only one keyboard and computer.
  • Teams are allowed to bring as much paper reference material as they like. This includes books and printed notes.
  • Teams may use pens, paper, for developing and discussing solutions among themselves.
  • Teams should have no internet access other than to the contest server and contest website (this website). Site co-ordinators should ensure this is the case via invigilation or using a custom lab computer image.
  • Teams are allowed to print code from their computer. Site co-ordinators should make a best effort to ensure this is supported.
  • Teams should not discuss the problems with people outside the team during to the contest, and any questions must be sent through the DOMJudge clarification system.
  • Electronic devices (phones, tablets etc) should not be used during the contest. Site co-ordinators should take these devices from contestants for the duration of the contest.
  • To solve a problem, teams should submit source code through the DOMJudge system written in C, C++, Java or Python. The only feedback teams will receive is “compile error”, “runtime error”, “time limit exceeded”, “wrong answer” or “correct”.
  • Teams are ranked by who has solved the most problems, plus the aggregate of the time taken to solve each problem (the time in minutes between the start of the contest and when the correct solution was submitted, plus a 20 minute penalty for each incorrect submission).
  • The contest server will evaluate any solution submitted in the five hours from the start of the contest. The scoreboard will stop updating with 1 hour left in the contest, and the full scoreboard will be revealed shortly after the end of the contest.
  • Any teams found to be cheating will be removed from the contest server and disqualified.


All times are given in Australian Eastern Daylight Savings Time (AEDT):

  • 10.45 All competitors on-site
  • 11.00-11.30 Practise Contest. Teams who do not have all three contestants on-site during this contest will be disqualified!
  • 11.30-12.00 Break
  • 12.00-17.00 Divisional Contest
  • 17.30-18.30 Everyone joins the Zoom link for the scoreboard reveal, award ceremony, and solution explanations

Programming Environment

The contest will use DOMjudge to facilitate the contest. The development environment on site is usually a standard install of Debian with standard installed editors/IDEs available. The only programming languages supported at the Regional Finals are C/C++, Java and Python.

Caution About Python

Although you may use Python, a solution in Python is not guaranteed to exist. To be specific, it may be possible that the fastest Python solution may not be fast enough to solve some problems, so use Python at your own risk. It is guaranteed that there is a solution in C++ and Java for each problem.

Compiler Specifications (Subject to change)

See here for details about the compilers and run-time environments for languages.

Back to top