Who participates?

  1. Anyone can try their hand in Russian Code Cup online qualification rounds. There are two requirements to the finals participants:

    • The contestant must be at least 18 years old at the beginning of the finals.
    • The contestants cannot be employees or close relatives of Mail.Ru Group employees.

How to register?

The registration is simple! Having registered, go to your personal account and confirm your participation in the current season championship.

Competition stages

  1. Three qualification rounds are held successively on RCC web-site. Top 200 contestants of every round move on to the next one. It is important that only the ones who solved at least one task can go to the next round: there might be fewer than 200 participants. The ones that didn't succeed at first try, can participate in the second and third qualification rounds.

  2. At the end, there are no more than 600 winners of the qualification rounds. They participate in the elimination round that is also held on the RCC web-site. Top 50 go to the finals. Once again: at least one task must be solved. If fewer than 50 contestants manage to do so, there will be less finalists.

  3. The finals are held on RCC web-site in Fall.

The rounds rules

Qualification, elimination and final rounds are happening in the same manner:

  1. The contestants receive 4 to 8 tasks.
  2. The tasks become available on RCC web-site at the beginning of the round.
  3. The task solution would be a program written in one of the accepted programming languages: Java, Python, C/C++/C++11/C++14, C#, Perl, PHP, Ruby, D, Haskell, Kotlin, Free Pascal.
    Different tasks can be solved in different languages.
  4. The checking system uses the following compilers: Java 8.0, Python 3.5, PyPy 2.4, Microsoft Visual C# 2013 Express Edition, Microsoft Visual C/C++ 2013 Express Edition, GNU C/C++/C++11/C++14 6.2, Perl 5.24, PHP 5.6.27, Ruby 2.3.1, D 2.071, Haskell GHC 7.10.2, Kotlin 1.0.4, Free Pascal 3.0.
    The versions might be updated.
  5. The solution program must not contain auxiliary modules or files.
  6. Different tasks can be solved in different programming languages.
  7. For every task, the data should be read off from the standard input stream and written to the standard output stream.
  8. Work with files and network is forbidden.
  9. For every task, there is indication of maximum time allotted for the program execution for one test and the maximum amount of memory allowed to use.
  10. All solutions are checked by RCC server automatically.
  11. The results can be found on RCC web-site. The checking is done during the competition.
  12. When done, the contestants submit their tasks solutions through RCC web-site and keep working on the other tasks. Upon receiving the solution, the automatic checking system responses within 1-5 minutes. The contestant can see the results in his personal profile on RCC web-site.
  13. The RCC checking system monitors the time spent on every task and adds 20 minute of penalty time for every incorrect solution submitted for checking.
  14. The RCC checking system uses the command line compilers shown below. In case of compilation error, the contestant is notified about the compilator's output.

    Compiler Compilation line Startup line
    javac <file>
    java –Xmx256M –Xss64M <file>
    python <file>
    Microsoft Visual C#
    csc /o+ <file>
    Microsoft Visual C++
    cl /O2 /TP /EHsc <file>
    Microsoft Visual C
    cl /O2 /TC <file>
    GNU C++
    g++ -x c++ -O2 -Wl,--stack=67108864 <file>
    GNU C++11
    g++ -x c++ -std=c++11 -O2 -Wl,--stack=67108864 <file>
    GNU C++14
    g++ -x c++ -std=c++14 -O2 -Wl,--stack=67108864 <file>
    GNU C
    g++ -x c -O2 -Wl, --stack=67108864 <file>
    perl <file>
    php <file>
    ruby <file>
    dmd -L/STACK:67108864 -O -release -inline -noboundscheck <file>
    Haskell GHC 7.10.2
    ghc -O -optc-O3 -rtsopts -with-rtsopts=-K256m <file>
    Kotlin 1.0.4
    kotlinc <file> -include-runtime -d <jar>
    java –Xmx256M –Xss64M <jar>
    Free Pascal 3.0
    fpc <file>
  15. The file size with a source code cannot exceed 256 Kb. Compilation must be done within 30 seconds; during the compilation, compilator must not use more than 512 Mb of memory. Total size of all the resulted files must not exceed 4 Mb. If one of these conditions is violated, the contestant receives the "Compilation Error" result with a specific reason indicated.
  16. If compilation has gone flawlessly, the solution is tested on the pre-prepared set of tests that is the same for all the participants. The solution is considered correct if it passes every test. The partially correct solutions that do not pass all the tests are considered incorrect. Upon the checking, the contestant is notified that the task has been accepted («Accepted») or what exactly has been done wrong and in which test.

    The list of potential errors:

    • «Memory Limit Exceeded» — the program is attempting to use more memory than allotted by the task
    • «Time Limit Exceeded» — the program wasn't finished within the time frame indicated in the task. In case that the program is utilizing several processor cores, the total time of completion for all cores is calculated.
    • «Idleness Limit Exceeded» — the program isn't using the processor for 10 seconds.
    • «Security Violation» — attempt to carry out the forbidden action
    • «Runtime Error» — the program was completed with a nonzero response code.
    • «Presentation Error» — the presentation format is incorrect; the checking program wasn't able to review the output.
    • «Wrong Answer» — the answer is wrong.
  17. The full test list is kept secret and will be published only after the end of the round.
  18. During the round, the participants are allowed to use any written materials, personal notes and prepared programs. The participants are not allowed to communicate with each other or anybody else regarding any topics related to the tasks. The participants must complete all the tasks truthfully and the judges have the right to monitor the participants' integrity by various means. If the violation of rules is discovered, the contestant will be disqualified.
  19. All the programs, submitted by the participants for checking, should attempt to solve the task and not to break the rules or destabilize the performance of the checking system. In case of deliberate attempt to destabilize the performance of the checking system, the participant will be disqualified.
  20. The RCC participants can ask questions of the round Administrator on-line using the feedback tool that will be available on the RCC web-site 30 minutes prior to the beginning of the round and during the whole round time.

Announcement of the rounds results

The results are reviewed equally by the following rules:

  1. The results of every round are published within 3 hours after the end of the round.
  2. All the tasks for RCC participants have the same difficulty level.
  3. The results of every participant are measured by two parameters:

    • number of tasks solved;
    • number of penalty minutes.
  4. The more tasks a participant solves, the higher his position is.
  5. In case the number of the solved tasks is equal, the participant with lesser amount of total penalty time gets the higher position.
  6. Penalty time is the time spent for tasks solving plus 20 extra minutes for every failed attempt to submit a task. There is no penalty for unsolved tasks.


  1. All qualified participants will receive the RCC participation certificate.
  2. Top 200 contestants of the elimination round will receive T-shirts.

  3. All finalists receive gifts, and the top 25 — prize money.

  4. 1st place
    150 000 rub.
    2nd place
    100 000 rub. 
    3rd place
    65 000 rub.
    4-10th place
    30 000 rub.
    11-25th place
    15 000 rub.

* For detailed information on rules, conditions and prize money refer to
Contest Announcement.

Log in

VK Facebook

Forgot password?


The instruction for password recovery
has been sent to your email