About Status Codes
This page lists all status codes encountered on the DMOJ and their description. It should be noted that it is possible for a test case to be given multiple status codes (indeed, this is usually the case for non-AC verdicts), in which case the one with the highest priority will be displayed. This page lists status codes in order of increasing priority.
AC - Accepted
Your program passed testing! In some cases, this may be accompanied with additional feedback from the grader.
WA - Wrong Answer
Your program did not crash while executing, but the output it produced was wrong. As for AC, this may be accompanied with additional feedback stating what you did wrong.
IR - Invalid Return
Your program returned with a nonzero exit code (if you're not using a native language like C++, it crashed). For languages like Python or Java, this will typically be accompanied with the name of the exception your program threw, e.g., NameError
or java.lang.NullPointerException
, respectively.
RTE - Runtime Error
Your program caused a runtime error to occur. This will only occur for native languages like C or C++. DMOJ maps many common RTEs to more useful descriptions, described below.
Feedback | Description |
---|---|
segmentation fault , bus error |
Your program was killed by SIGSEGV or SIGBUS. Generally, this means you ran out of memory, but among other things it can also mean that you are accessing arrays out of bounds. |
floating point exception |
Your program performed a bad arithmetic operation, such as division by zero. |
killed |
Your program was killed by the runtime for some reason (which we don't know). |
opening files is not allowed |
Unless a problem specifically says you can, you may not open files — doing so will get you this message. |
{} syscall disallowed |
Unless you are doing something of a dubious nature, you should never see this message. If you do, please file a ticket</a> so we can get it sorted out. |
std::bad_alloc |
new failed to allocate enough memory. All C++ exceptions are mapped to feedback like this, though this is the most common exception you're likely to encounter. |
failed initializing |
Your program uses too much data defined in global scope for it to fit inside the memory constraints at startup. A typical example is code like
|
OLE - Output Limit Exceeded
Your program outputted too much data to stdout
, typically over 256mb (though some problems may have custom — generally larger — constraints).
MLE - Memory Limit Exceeded
Your program ran out of memory. Sometimes, this might manifest itself as an RTE with segmentation fault
or std::bad_alloc
.
TLE - Time Limit Exceeded
Your program took too long to execute.
IE - Internal Error
If you see this, it means either the judge encountered an error or the problemsetter's configuration is incorrect. Administrators get notified of every internal error by email, and as such there is no need to do anything else — IEs will typically be resolved within 24 hours.