Embrace the Challenge

CodeIT is divided into two competition phases – an online qualification phase and an on-site final phase. The qualification phase consists of six rounds - three "SPRINT" and three "MARATHON" rounds, which alternate for the period of one school year. There is a separate ranking for each round, which depends only on the points received by the competitors on the tasks given in that particular round. Every contestant with a non-zero result in each round will be awarded rank points - the first receives 100 points, the second and third get each 15 points less than the one before, the next three - 10 points less, the next four - five points less, the next five - two points less and the five after that - one point less. In other words, the first 20 places receive: 100 points, 85, 70, 60, 50, 40, 35, 30, 25, 20, 18, 16, 14, 12, 10, 9, 8, 7, 6, 5. All other competitors with non-zero result will receive 1 point.

There are two paralel rankings. The General ranking includes all participants who have taken part in at least one round during the current season. The Junior ranking includes all participants who are 8th grade or below. Each round produces separate ranking points for the Junior ranking based on the scores in the round. The Sprint rounds include special problems which award points only to the juniors.


In the MARATHON rounds there is a single task. The participants can submit their solutions throughout the round, which lasts for at least two weeks. They can also select the submission which will be saved for final testing (note that only one submission will be saved per contestant and by default this is the last submitted solution). The allowed programming languages are C and C++. The participants must upload only their source code - files with either .c or .cpp extensions.

Detailed information on the scoring for a particular task will be provided in the corresponding problem statement.


This type of round consists of 8 problems, 3 of which are designed specifically for the Junior participants and are not included in the General ranking, while the other 5 are for the General ranking. The round lasts for a few hours (usually 3-5) during which the participants can submit their solutions. In contrast to the MARATHONs, here the solution saved for final testing will always be your last submission for that particular problem. The allowed programming languages are C and C++. The participants must upload only their source code - files with either .c or .cpp extensions.

Each contestant will get points for a given task only when their solution passes all of the tests allotted for the task. The score for each submission is inversely proportional to the time it took to be sent, measured from the start of the round. The minimum value for a submission is 50% of the maximum number of points. The maximum number of points for each task will be specified in the problem statement.

The organizers will consider objectively all appeals within three days of the end of each round. The organizers reserve their rights to make decisions about revising points after the contest.

Participation in the final round

The final round of CodeIT will be in person. There will be awards for all contestants from "Final Ranking" and "Junior Ranking".

Language specifications

All solutions are tested on the same computer.

  • C:
    • Command line: gcc -Wall -O2 -std=c++17 -о -Wl,--stack=<min(67108864, ML for each task)> -DONLINE_JUDGE <out_file> <source_file>
    • Standard: c17
  • C++:
    • Command line: g++ -Wall -O2 -std=c++17 -о -Wl,--stack=<min(67108864, ML for each task)> -DONLINE_JUDGE <out_file> <source_file>
    • Standard: c++17

Evaluation of submissions

  • Testing:
    • The jury prepares a set of final tests and sets the time limit and memory limit on each task.
    • If the contestant's program causes an error during execution (Runtime Error) or exceeds the time or memory limits, it will receive 0 points for the corresponding test.
    • If the program terminates within the time limit and if the problem statement does not specify any other grading formula, the participant will be awarded either all points assigned for the test (for correct answer) or 0 points (if the result generated by the program is wrong - this includes a wrong formatted output file).
  • Feedback:
    • During each round (unless specified otherwise) the submitted solutions will be graded on the system with a set of sample test cases (which may be publicly visible) in the same conditions as the final testing. The users will get detailed information about the execution of their submitted solution. There may be a preliminary ranking based on the results received by each participant on the sample tests. The final ranking is determined by the results of the contestants' official solutions on the final tests. The testing will be done once the round has finished. The set of final test cases will be officially published.
  • Penalties:
    • The program should display only the specified output in the specified output file. Furthermore, the format of the output data must match the output described in the problem statement. It must not display anything on the screen, printer or any other output device.
    • The program should read data only from the input files described in the task statement or from the temporary files that it has created. It should not expect that the data stored in the input file will be provided on the standard input.
    • The program should not include a user interface. It should not create windows, buttons, status bars, etc. Furthermore, the program must not require user interaction - for example, pressing Enter.
    • Use of a random-number generator and other sources of randomness is allowed in solving the tasks. However, this use needs to be applied carefully - the speed of the random number generator producing values might be different on your machine versus the grader. Make sure you read the documentation.
    • Plagiarism is prohibited. Using other people's code is only possible if it is publicly available, the source is stated explicitly and it meets all license rights.
    • Failure to comply with any of the above conditions will result in reduction of the contestant's score at the jury's discretion.
  • Appeals:
    • After the results of each task are published, the participants can appeal within three days by using the contest system.
    • If necessary, the jury has the right to extend the period of appeals.
Only persons not directly involved in the organization of the competition have the right to participate. You will be able to submit solutions and ask questions related to the tasks in the ongoing round by using the online contest system, after you register.

By entering the contest every participant agrees to these rules.