World Finals Rules

Logging on

You will be told how to logon to your workstation as well as how to access and logon to Abacus. Abacus is the software that you will need to use to submit your programs for judging.
The URL for the Abacus server is:


Refer to the ACM ICPC web-site for the Rules for Regional Contests 2016. You are allowed to bring in books and notes.
A non-programmable calculator is also permitted. You may not have contact with anyone other than your team members and the competition staff.

Team placement

The number of correct submissions determines team placement. In the case of a tie, the team that submitted the problems the quickest wins. The total time is the sum of the time consumed for each problem solved. The time consumed for a solved problem is the time elapsed from the beginning of the contest to the submission of the accepted program plus 20 penalty minutes for every rejected program for that problem regardless of submission time. There is no time consumed for a problem that is not solved.


Automated judging will be used for all your submissions. A submission may be in one of the following states:

  • Pending: submitted but not marked
  • Compilation failure: submission did not compile, penalty not incurred except in the case of excessive attempts where additional steps, for instance disqualification, may be taken. A compilation failure may be queried by submitting a clarification request, the response will be at the discretion of the judge which is final.
  • Time limit exceeded: the execution time has exceeded the time limit specified.
  • Abnormal termination of program: excessive memory used, program crashes, exception thrown.
  • Deferred to judge: automated marker results in an incorrect answer, waiting to be judged manually.
  • Wrong answer: given after manual judge confirmation.
  • Format error: output does not conform to the format specified.
  • Correct answer: well done!

Additional information regarding the submission states can be found in the Abacus Manual.

Points to take note of:

  • A maximum of 256MB memory per submission is allowed.
  • A maximum of 16MB for the output file of a submission is allowed.
  • Submissions must execute in the time specified on the problem. The time limits specified on the problem statements are for the full contest test case that is not given to contestants, not for the sample input. Your program must execute within this time limit for the final test data, not for the provided sample data.
  • The markers are 64-bit installations of the operating system.
  • No submission may attempt file or network access. An “Abnormal termination of program” judgement will be issued if it does.
  • It is not always guaranteed that the input will be clean of white space. It is therefore of utmost importance that your submission makes provision for such cases.
  • C or C++ programs may not fork and Java programs may not make use of threads, both these cases will cause an “Abnormal termination of program” judgement to be issued.
  • All input is read from stdin and all output must go to stdout.
  • Judges have no idea which team requests a clarification, nor which teams made which submissions. Please be sure to indicate the submission id on any submission specific clarification request, or these requests will simply be ignored, or answered with “no response”.
  • C and C++ programs must exit with exit code 0.
  • C and C++ programs are compiled into static executables for the automated marking system.
  • The first line of the Python script must be #! /usr/bin/python.
  • Note, Python is not nearly fast enough for all the problems. Be careful and choose wisely.

OS and Compiler versions of the marker machine(s)

  • OS – Ubuntu 16.04.1 LTS Linux (64-bit)
  • Java – OpenJDK 1.8.0_91
  • C/C++ – gcc version 5.4.0
  • Python 2 2.7.12
  • Python 3 3.5.2

Compilation flags to be used by the marker machines

  • C
  • gcc -static -O2 -lm
  • C++
  • g++ -static -O2 -std=gnu++0x -lm
  • Java
  • javac