Contest Day Information

Server

  • The contest server can be found at contest.sppcontests.org
  • Your Site Coordinator should have your login information

Note for Python Users

We have Pypy3 enable as well as the standard “CPython” interpreter for Python 3. You should be able to treat Pypy3 like standard Python 3.9. We recommend using Pypy in most situations since it is much faster than CPython. Please look at the Compilation Specification section for more details. While Pypy is generally much faster than CPython, one quirk to be aware of is that recursion in Pypyis very slow and (occasionally) even slower than CPython. Consider using iterative algorithms algorithms instead of recursive algorithms. Alternatively, the standard CPython interpreter will be available.

IMC Contest Notes

  • The DOMjudge system is set up different to the standard configuration experienced competitors will be familiar with from ICPC or SPAR.
  • The time penalty for the IMC contest is set to 10 minutes (instead of the usual 20).
  • Problem PDFs and sample data ZIPs can be downloaded by the “Problemset” interface on DOMjudge.

In addition, problems may have multiple subtasks. Each will appear as a separate problem in the DOMjudge system. You will need to manually submit to each individually as each will be considered a different problem by the DOMjudge system.

DOMjudge Instructions

  • Problem statements can be found through the Problemset interface in DOMjudge. See the menu on the top left
  • Sample data can be found through the Problemset interface in DOMjudge. See the menu on the top left
  • More details can be found in the DOMjudge team manual
  • The scoreboard will freeze during the last thirty minutes of the contest (see below)
  • A time penalty system is used to break ties for number of problems solved
Scoreboard Freeze

The scoreboard will be frozen for the last thirty minutes of the contest.

All submissions made after the freeze will appear as pending runs on the scoreboard. Contestants will continue to receive verdicts for their own submissions.

The full scoreboard will be revealed shortly after the end of the contest.

Time Penalties

For each problem a contestant solves, they incur time penalty equal to the time in minutes from the start of the contest to their first correct submission, plus a penalty for each incorrect submission (excluding compilation errors).

Contestants do not accrue time penalty on problems they do not solve.

For example, suppose a contestant makes submissions as follows.

ProblemTimeVerdict
A8Time Limit Exceeded
A23Wrong Answer
A27Correct
B42Compile Error
B43Run Error
B52Correct
C58Time Limit Exceeded
A59Wrong Answer

Time is given in minutes from the start of the contest

The contestant incurs:

  • 67 minutes of time penalty for problem A
    • 27 minutes to solve, plus two incorrect submissions
    • The last submission is not penalised because the contestant had already solved the problem.
  • 72 minutes of time penalty for problem B
    • 52 minutes to solve, plus one incorrect submission
    • The second submission is not penalised because it received the Compile Error verdict.
  • no penalty for problem C, as they did not solve it.

If two contestants solve the same number of problems and have the same time penalty, the tie will be broken using the same method as in the most recent ICPC World Finals. As of 2017, tied contestants are ranked in increasing order of the time of their last problem solved.

Contestants are encouraged to check the scoreboard regularly to see what problems other contestants have solved, as these are often the easiest.

For the IMC contest, all subtasks will be treated as different problems for the purposes of calculating the time penalty.

Language Documentation

Limits

  • The time limit is different for each problem.
  • The memory limit for each problem is 1 gigabyte.
  • The source code limit is 256 kilobytes.

Compilation Specifications


C++
Version:gcc/g++ 12.2.0
Compilation:g++ -x c++ -Wall -std=c++20 -O2 -static -pipe -o prog prog.cc
Execution:./prog < input > output

Java
Version:openjdk 17.0.13
Compilation:javac -encoding UTF-8 -d . prog.java
Execution:java -Dfile.encoding=UTF-8 -XX:+UseSerialGC -Xss65536k -Xms917504k -Xmx917504k < input > output

Pypy 3
Version:pypy3 version: 7.3.11, equivalent to python 3.9.16
Compilation:pypy3 -m py_compile program.py3
(Just used to check for Compile Errors, not in the execution of the code)

Python 3
Version:Python 3.11.2
Compilation:python3 -m py_compile program.py
(Just used to check for Compile Errors, not in the execution of the code)
C
Version:gcc 12.2.0
Compilation:gcc -x c -Wall -O2 -static -pipe -o prog prog.c -lm
Execution:./prog < input > output