Technical rules

The ICPC regional contest rules can be found at the ICPC regionals web site; official ICPC regional rules. Given the exceptional circumstances this year CERC 2020 will be conducted fully online. The following temporary rules are intended to accommodate for this change, and take precedence over the official ICPC regional rules where there are contradictions. The CERC 2020 Contest director has final say in determining any breach of rules and consequences for the offending team, which could result in disqualification.

Team composition

A student may compete when eligible according to the 2020 ICPC Regionals Eligibility Diagram. A team consists of 3 eligible students. An educational institution may register an unlimited number of eligible teams. The educational institutions must be from one of the region member countries. By special request teams from other countries may be allowed to participate in this region, as stated in the ICPC Regional Rules. All teams who want to participate must be registered by their coach.

Location

Contestants are allowed to participate from any location of their choice. Team members do not have to gather at the same location.

Devices

Contestants are allowed to use their own computers and electronic devices.

Internet access

Contestants are allowed to use the internet during the contest, with two restrictions:
  1. Contestants are not allowed to publish or post any information on the internet during the contest.
  2. Contestants must only read information that was published before the start of the contest.
Examples uses of the internet that are not allowed during the contest:
  1. Posting information about the problems or sending anyone the problem statements.
  2. Asking questions on Stack Overflow or any other forums.
  3. Reading discussion threads that may include information about the CERC 2020 problems.

Existing code

Contestants are allowed to use preexisting code found on their computers or on the internet, provided that it does not violate any other rules about internet access (in particular, the code must have been published before the start of the contest). However, any code copied off the internet must be explicitly marked with a comment containing a URL to the original source.

Communication

Contestants are allowed to communicate with their own team members during the contest, and are encouraged to set up a private voice or video conference for their team during the contest. Contestants are also allowed to communicate with organizers and the jury through the "Clarifications" interface in the judging system, where any and all issues during the contest or questions about the problem statements should be directed. Contestants are not allowed to communicate with anyone else (including but not limited to their coach, friends, contestants from other teams, or anyone else on the internet or in person) during the contest.

Software

There are no restrictions on software use during the contest. Contestants are allowed to use any operating system, IDE or editor they like, and configure that software in any way they like before the contest. In particular, contestants may configure their editor to use a code template of their choice, provided it does not violate any other rules about use of existing code.

Teams

  1. Only teams accepted by the CERC Director can take part in the contest.

Conduct of the contest

  1. The language of the contest is English. All written materials will be in English. Additional languages may be used.
  2. Solutions to problems (source programs) submitted for judging are called runs. Each run is judged as accepted or rejected and the team is notified of the result.
  3. Rejected runs will be marked as either "compile time error" or "run-time error" or "time-limit exceeded" or "wrong answer" or "presentation-error" or "too late" or "contest rule violation."
  4. A contestant may submit a claim of ambiguity or error in a problem statement by submitting a clarification request to a judge. If the judges agree that an ambiguity or error exists, a clarification will be issued to all contestants.
  5. Contestants are not to converse with anyone except members of their own team and personnel designated by the CERC Director. System support staff may advise contestants on system-related problems such as explaining system error messages.
  6. The contest will be held in a networked environment. The network may only be used to submit solutions, to ask questions and to produce listings in ways designated by the organizers. Any other use of the network is strictly forbidden and results in immediate disqualification and removing from the contest area.
  7. While the contest is scheduled for five hours, the CERC Director has the authority to alter the length of the contest in the event of unforeseen difficulties. Should the contest duration be altered, every attempt will be made to notify contestants in a timely and uniform manner.
  8. A team may be disqualified by the CERC Director for any activity that jeopardizes the contest such as dislodging extension cords, unauthorized modification of contest materials (soft- or hardware), forbidden network activities, or distracting behavior.
  9. The CERC Director is solely responsible for ruling on unforeseen situations and interpreting these rules.

Scoring of the contest

  1. A problem is solved when it is accepted by the judges. The judges are solely responsible for accepting or rejecting submitted runs. In consultation with the judges, the CERC Director determines the winners of the CERC contest. The CERC Director and judges are empowered to adjust for or adjudicate unforeseen events and conditions. Their decisions are final.
  2. Teams are ranked according to the most problems solved. Teams who solve the same number of problems are ranked by least total time. The total time is the sum of the time consumed for each problem solved. The time consumed for a solved problem is the time elapsed from the beginning of the contest to the submittal of the accepted run plus 20 penalty minutes for every rejected run for that problem regardless of submittal time. There is no time consumed for a problem that is not solved. In case of a tie, teams are ranked by the number of minutes elapsed from the beginning of the contest until the first correct solution was submitted. If the last rule does not break the tie the CERC Director is responsible to find a fair solution.

Contest environment

This contest is specific as it takes place online. Please consider checking your environment to match the one used for evaluation. As your computer is out of our control, it is completely up to you to understand and prepare everything before the contest begins. We will not provide any help or consultations beyond the extent of information provided below.

  1. The programming languages of the contest are Java, C, C++ and Python.
  2. The name of the submitted program and a way of its compilation are:
    • Java programs
      • Required extension: .java
      • How we compile: javac -encoding UTF-8 -sourcepath . -d . <source-filename>
      • How we execute the result: java -Dfile.encoding=UTF-8 -XX:+UseSerialGC -Xss65536k -Xms917504k -Xmx917504k <main_class_name> <source-filename>
    • C programs
      • Required extension: .c
      • How we compile: gcc -x c -Wall -O2 -static -pipe -o <exec-filename> <source-filename> -lm
    • C++ programs
      • Required extension: .cpp
      • How we compile: g++ -x c++ -Wall -O2 -static -pipe -o <exec-filename> <source-filename> -lm
    • Python programs
      • Required extension: .py
      • How we check the source: python3 -m py_compile <source-filename>
      • How we run the source: python3 <source-filename>
  3. The C standard library and the standard template library are available.
  4. An on-line manual will be available for each compiler.
  5. Executable code cannot have more than 5 MB.
  6. Size of the source code cannot exceed 256 KB.
  7. Each program has 1024 MB RAM at its disposal.
  8. Each program has to terminate with an exit code 0 (return 0).
  9. For each submitted program it is not allowed to use any of the following constructs:
    • Usage or creation of any file other than stdin and stdout,
    • usage of more than one thread or process,
    • usage of any network facilities,
    • usage of any library call not related to the problem solution.
  10. Submission of solutions is possible using a web browser.

  11. The major and minor version number of compilers are guaranteed to be no lower than stated.
  12. Access to the following compilers is available:
    • GCC 10.2 for C and C++ programs,
    • OpenJDK 11.0 for Java programs,
    • Python 3.9 with a basic set of modules and numpy 1.19.