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.
Problem | Time | Verdict |
A | 8 | Time Limit Exceeded |
A | 23 | Wrong Answer |
A | 27 | Correct |
B | 42 | Compile Error |
B | 43 | Run Error |
B | 52 | Correct |
C | 58 | Time Limit Exceeded |
A | 59 | Wrong 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.1 3 |
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 |