Online judge manual
The online training system is a tool to help you improve your programing skills. It is open to everyone, and obviously free. What follows is a guide to understand its principles and get the most out of it.
The problems given during the previous editions of the Prologin contest are archived and available on this website. You can train with the problems of the qualification and regional event problems of the previous years. They are ordered by year and difficulty: from beginner to advanced.
The exercises are evaluated by our server: your program is compiled then tested automatically. It is executed once per test. The possible errors are:
- Your program does not compile;
- Your program exceeded the time limit given in the subject;
- Your program exceeded the memory limit given in the subject;
- Your program gave a wrong result for at least one test;
- Your program does not terminate correctly.
If there is a compilation error, the error output of the compiler is shown.
The output produced by your program has to match exactly with the format given in the subjects. The correction system compares the output with a reference output, character by character.
After the tests have been executed, a summary is shown, indicating which tests succeeded and which tests failed. The output of your program and the output given by the correction system is shown only for the first failed test. The exercise will only be considered solved when all the tests succeed.
The correction can take up to several minutes, so be patient.
The training system grades your submissions. Every solved exercise gives you a number of points that depends of the level of the problem and the number of failed attempts you tried. You should test your program yourself before submitting it.
For some languages, we provide code stubs that can "parse" correctly the data given in the standard input of the program. You only need to write the content of a stub function that takes these parsed data in parameter. Note that it is absolutely not mandatory to use these stubs, although they can be really useful most of the time.
Time and memory limitations
Every problem enforces some limits in terms of memory usage and execution time. Some coefficients are applied on some slower or memory greedy languages. No particular limitation is applied on the stack size.
Your programs are executed in a virtual machine with an Intel(R) Xeon(R) CPU E3-1241 v3 with a clock rate of 3.50 Ghz and an x86_64 architecture. The byte order is Little Endian. The virtual machine has 1 dedicated vCPU and 3 Gio of dedicated random access memory.
Compilers and interpreters
-std=c11 -Wall -Wextra -O2 -lm
-std=c++17 -Wall -Wextra -O2
-W warnings -C opt-level=3