The Republican stage of the International Collegiate Programming Contest will take place in Tashkent

On October 26th, the Republican stage of the International Collegiate Programming Contest (ICPC) will be held in Tashkent. The preliminary round will take place on October 8th at the regional branches of IT Park. Registration for participation is already open and can be accessed through the link. Teams consisting of three university students can participate in the competition.

Only university students can take part in the championship in accordance with ICPC regulations.

Note: A maximum of 4 teams from the same university will be selected for the final stage. The coach is responsible for registering participants on the official website of the championship.

Regulations for Conducting ICPC Team Competitions

Teams consisting of three participants take part in the competition. The competition is held in a single round. The duration of the round is 5 hours. The jury reserves the right to extend the round time in the event of unforeseen circumstances.

During the competition, each team is provided with one computer equipped with C/C++, Python, and Java compilers. Participants may be allocated time before the round for familiarization with the technical and software of the competition system.

Blank sheets of paper will be provided to participants before the round. It is prohibited for participants to use their own data storage devices (floppy disks, CD-ROMs, etc.) at their workstations. Additionally, participants are not allowed to use personal computers, calculators, electronic notepads, communication devices (pagers, mobile phones, etc.), or pre-prepared personal notes during the round. The use of educational and reference literature brought by the team (not exceeding 6 books per team, sharing literature with other teams during the competition is prohibited) and reference information available on the ipc.susu.ru website is allowed.

The round commences upon the signal from the jury. Prior to the start of the round, it is forbidden to read the tasks, touch the keyboard, or perform any actions on the computer.

After the start of the round, a team has the right to ask questions to the jury regarding the problem statements. Questions must be formulated in a manner anticipates a response of “YES” or “NO”. Questions are transmitted to the jury using the provided software. When the jury responds to a question, participants receive a message over the network. If a question is not in accordance with the problem statement or the answer to the question is contained within the problem statement, the jury may respond with “NO COMMENT”. The jury may distribute a question and its corresponding answer to all participants as an explanation of the problem statement.

During the round, team members may only communicate amongst themselves, with the staff on duty, and with jury members.

Participants are allowed to print listings of their programs during the competition. Listings are delivered to the team by the on-duty personnel after printing is completed. The limit on the number of pages that can be printed by a single team will be announced before the competition.

In the event of computer or software malfunctions, participants must promptly report to the on-duty personnel. Depending on the juryʼs decision, the team may be granted additional time to restore the computerʼs functionality.

Each team is allocated a working directory in which they store their programs and other necessary files during each round. The team is solely responsible for the security of the problem-solving results during the round.

For solving problems in the competition, a minimum of 6 problems are proposed. Solutions to these problems must be programs developed in one of the permissible programming languages. The program should consist of a single file and should not reference auxiliary modules or files unless explicitly specified in the problem statement. The jury compiles the submitted solution using batch compilers (as mentioned earlier), so any compilation options other than default values, should be specified in the source file. The size of the source code file should not exceed 30,000 bytes. Different problems can be solved using different programming languages.

In all problems, input is received from standard input (stdin, i.e., the keyboard, but without USE CRT), and output is sent to standard output (stdout, i.e., the screen). It is allowed to perform input from the file “input.txt” and output to the file “output.txt” (file names should only contain lowercase letters and should not include disk or directory names). The program is executed using following command:

program output.txt

Therefore, the program should not contain input prompts or debugging prints. The format of the input file conforms to the specification, and no additional checks are needed. All lines, including the last one, terminate with a newline character (\n).

When solving problems, participants are prohibited from using:

  • assembly language instructions in the program text.
  • working with directories.
  • reading and writing interrupt vectors.
  • any input/output operations other than opening, closing, reading, and writing the specified files above.
  • any use of network facilities.
  • any other actions that disrupt the functioning of the competition system.

The checking of solutions takes place during the competition. Solutions are submitted for verification using the competition systemʼs software. A team can submit a solution for one problem multiple times during the competition as they become ready. While the cheking is in progress, the team can continue working on other problems. Once a problem is accepted by the jury, no new solutions should be submitted.

When the jury verifies a solution, the team receives a message with the test results. The message indicates whether the problem has been accepted, whether there was a compilation error, or it specifies the detected error in the first of the failed tests.

Possible types of messages include:

Designation

Message

Possible cause and action

AC

Accepted

The solution has successfully passed all the jury’s tests, proceed to the next problem.

CE

Compilation error

There is a syntax error in the program. It’s possible that you incorrectly specified the programming language when submitting the solution or used language constructs that do not conform to the standard. Check the compilation error listing to identify the error lines by clicking on this message. There is no penalty for this error.

WA

Test #: incorrect answer

Incorrect solution algorithm. Test the program and identify the error.

TL

Test #: exceeding the time limit

Inefficient solution, error in the exit condition of a loop, or waiting for a keypress at the end of the program. Check the program on larger tests.

ML

Test #: exceeding the memory limit

The program consumes too much memory. Use more efficient methods for storing information.

RT

Test #: runtime error

1) An error such as going out-of-bounds of an array, division by zero, or the logarithm of a negative number; 2) a C program does not terminate with the return 0 statement; 3) Exiting the program with a non-zero code using functions like exit(1) or halt(1); 4) Exceeding memory limits or encountering another unhandled exceptional situation.

PE

Test #: presentation error

The format of the output file does not comply with the requirements specified in the problem statement.

 

Participantsʼ solutions are evaluated using a pre-prepared set of tests by the jury. A solution must produce identical outputs for identical inputs regardless of the time of execution and the software environment. The jury accepts a solution if it passes all the tests. A test is considered failed not only when the program produces an incorrect answer but also if it exceeds the specified limits for execution time and memory usage during the test. Partial solutions (those that pass all the tests) are not evaluated. The jury specifies the time limits for program execution on each test and the available memory size in the problem statements.

The results of the solution verification include the number of the first test that did not pass verification. For example, if the jury reports “Test 9: exceeded time limit“, it means that:

  • Tests from 1 to 8 passed validation.
  • On the ninth test, which is more complex than the previous eight, the program exceeded the time limit.

In such a case, it can be inferred that the algorithm may be correct but inefficient.

During the competition, teams can monitor the current results of their competitors using the competition systemʼs software tools. The results table “freezes” 60 minutes before the end of the competition.

A team may be disqualified by the juryʼs decision for violations of competition rules and order.

The winning team is the one that correctly solves the highest number of problems. In the event of a tie in the number of problems solved, the team with the lowest total time for solving the problems, as recorded in the technical results protocol, is declared the winner. The time for solving a problem is considered to be the time at which the jury receives the correct solution for testing. Submitting an incorrect solution to the jury for testing incurs a penalty of 20 minutes of penalty time for each submission. Penalty time is only considered in the total time for correctly solved problems.

There is no provision for appeals.

The jury possesses exclusive authority to determine the correctness of test passings, assign scores, determine the winners, and disqualify participants. The jury addresses issues arising from unforeseen events and circumstances. Jury decisions are made by a majority vote with a quorum (at least 2/3 of the members) and are documented in a corresponding protocol, are final and not subject to appeal.

During the competition, any changes or additions to these rules can only be made by the decision of the jury, and all participants are informed in advance.

2023-09-20