FAQ — frequently asked questions. You can find here answers on most common questions. For additional information see FAQ++.

What is El Judge?

El Judge (Electronic Judge) is online judge system for automatic checking your programming skills and algorithmic thinking. It means that here exists an archive of algorithmic problems of the kind: "Write a program that takes smth as input, does smth and outputs result". You can submit the source code that solves the problem. The source will be automatically checked.

Is there any other system of the kind?

Yes. There are dozens of such systems:

acm.timus.ru neerc.ifmo.ru acm.uva.es ace.deloc.com acm.sgu.ru

How to register and submit solutions?

After registration you can log in and start submitting your solutions.

Solution of a problem involves the following steps. You write a program in one of the available programming languages: C/C++/Java/Free Pascal/Perl/Python/Ruby/... Then you submit the program for checking to El Judge using web interface. After it is checked (usually less than 1 minute), El Judge emails result of checking to you. Your program will get "Accepted" only if it successfully passes all tests.

What check results can be and what do they mean?

Result of checking may be one of the following types:

Accepted It means that your solution is right! You have truly managed to solve the problem or El Judge has made a mistake in your favour.
Wrong answer Your program does not pass at least one test. The number of the test is given. It also means that all tests with less numbers have been passed successfully.
Presentation error Your program outputs something unparseable (something that El Judge does not expect). For example you program outputs letters while numeric answer is expected. The number of the test is given. All tests with less numbers have been passed successfully.
Compilation error Your program cannot be compiled. This situation may have the following causes:
  • There is a compile-time bug in your program
  • Your program language is not the same as you have chosen for compiler.
  • Your compiler version differs from that El Judge uses.
Runtime error Your program's exit code is non-zero. That means one of the following
  • Your program has performed an illegal operation
  • Your program is written in C/C++ and calls return n, where n != 0
System error This error must not occur but sometimes it does. This error means that El Judge fall sick and does not work.

I want to add problem to El Judge archive. How can I do this?

If you have an interesting problem and if you would like it to be added to El Judge archive then you should perform the following actions: Compose a letter that contains 1) problem or problem description, 2) test cases, 3) custom checker, 4) solution. Send it to this address. If you have just the description and solution it is not so bad. But it is prefereable that all components are present.

  1. Description is to be given in the format (see samples):
    Problem title in english
    Author name (or other source) in english.
    Time limit in seconds
    Memory limit in kBytes
    Description in english
    Input sample 1
    Output Sample 1

    Input sample 2
    Output Sample 2


    Problem title in Russian
    Author name (or other source) in russian.
    Description in russian

How to write Java solutions?

Nowadays many people prefer writing programs on Java. As you can see, everyone may submit Java solution to our server. But often they receive a "Compilation error" report from judge. When you submit file with solution judge renames it to Main.java. So your main class should be "Main", otherwise javac refuses to proceed the compilation. Your class should be declared in default package. Уou may also create some classes with arbitrary names inside Main, if you need. See also ethalon solutions for problem 000. Do not use class Scanner for massiv input scanning, because its current implementation is slow, so when you read a file with 100000 numbers, you can get "Time Limit" only because of Scanner's slowness. It's probably better to use BufferedReader with StringTokenizer. Also pay attention to the java version (now it is 1.5.0), so you may use all its advantages (e.g. templates, extended form of "for" cycle, etc.).

© acm.mipt DevGroup
The page was generated in 160ms

SW soft NIX
ID =