Help & FAQ

How judging works, and what the sandbox will and won't let you do.

Verdicts

  • AC — Accepted. Your output matched on every test case.
  • WA — Wrong Answer. Output differed on at least one case. Trailing whitespace is ignored.
  • TLE — Time Limit Exceeded. A test case ran longer than the limit below.
  • CE — Compilation Error. Your code failed to compile, or was rejected by the security check.
  • RE — Runtime Error. Your program exited with a non-zero status. Writing to stderr on its own is fine.

Limits

  • Time: 5 seconds per test case.
  • Memory: 128 MB.
  • Source size: 50,000 characters.
  • Output: 1 MB per test case.

Languages

Python 3, C++, Java and JavaScript. Read from standard input, write to standard output.

  • Java: your class must be named Main.
  • JavaScript: use readline() for the next line of input, or readAll() for the whole of stdin as a string. require() and process are not available.
  • Python: the standard algorithmic library is available — collections, itertools, heapq, bisect, math, functools and friends. Third-party packages such as NumPy are not installed.

Why was my code rejected?

Submissions run in a sandbox, so anything outside solving the problem is blocked: filesystem access, spawning processes, network calls, environment variables and reflection. If you get a Security violation message, it will name the construct it objected to. Everything you need for competitive programming is permitted — if you hit a false positive on ordinary algorithmic code, please report it.

Contests

Register from the contest page. Problems open when the contest starts, and scored submissions are only accepted while it is running. You can still run code against the sample case afterwards for practice. Standings rank by total points, with fewer submissions breaking ties.

Something's broken

Bug reports and feature requests go to GitHub Issues. The platform is open source — the full source is available to read.