ACM ICPC NEERC

Regional Contest Rules

Important changes are in red.

Introduction

  • The ICPC, the “International Collegiate Programming Contest”, is an extra-curricular, competitive programming sport of the universities of the world. ICPC competitions provide gifted students with opportunities to interact, demonstrate, and improve their teamwork, programming, and problem-solving prowess. The ICPC is a global platform for academia, industry, and community to shine the spotlight on and raise the aspirations of the next generation of computing professionals as they pursue excellence.
  • NEERC, the Northern Eurasia Finals, is the contest for Northern Eurasia teams with best teams qualifying for World Finals of ICPC.
  • Teams first compete in Subregional Contests. The winning teams from each subregional contest qualify to advance to Northern Eurasia Finals, December 1-2, 2018.
  • NEERC is simultaneously organized at:
    • Saint Petersburg — St. Petersburg ITMO University;
    • Barnaul — Altai State Technical University;
    • Almaty — Kazakh-British Technical University;
    • Tbilisi — European University.

Localization

  • The official language of the Contest is English. All written contest materials will be in English.
  • The secondary language of the Regional Contest is Russian. All announcements will be made in both Russian and English.
  • The Director and the Organizing Committee of the Subregional Contests may use additional languages of the Subregional Contest participants.

Conduct of a Regional Contest

  • Board of directors of the Regional Contest:
    • establishes Organizational Committee of the Regional Contest;
    • prepares recommendations to the Organizational Committee concerning Jury and Technical Committee;
    • appoints directors of Subregional Contests of the Regional Contest;
    • solves questions concerning organization of new Subregional Contests.
  • Organizational Committee of the Regional Contest:
    • settles dates of the final round of the Regional Contest;
    • settles possible dates of the Subregional Contests of the Regional Contest;
    • approves Jury and Technical Committee put forward by the Director of the Regional Contest;
    • creates and approves the expense estimate of the Regional Contest;
    • approves Technical Regulations of the Regional Contest  put forward by Jury and Technical Committee;
    • determines the place of residence for competitors, delegation heads, Jury members and Technical Committee members;
    • determines the venue of the Regional Contest  and issues the corresponding order;
    • supplies of the venue of the Regional Contest with computers according to the these Regulations, Technical Regulations, safety measures and hygiene and sanitary standards;
    • carries out registration of participants;
    • organizes and carries out the award ceremony for the Regional Contest  participants;
    • analyzes and generalizes the Regional Contest results.
  • The Regional Contest Jury consists of the Head of the Jury Chairman, the Heads of the Subregional Contests' Jury and other Jury members.
  • The Regional Contest Jury:
    • proposes problems for the rounds of the Regional Contest;
    • the Head of Jury forms the Executive Committee of the Jury.
  • Executive Committee of the Jury:
    • prepares the Technical Regulations together with the Technical Committee;
    • evaluates the proposed problems and forms the set of the problems for the Regional Contest;
    • develops and approves the problem statements for the Regional Contest;
    • develops the tests for submission evaluation for the final round of the Regional Contest, including automated problem checkers;
    • conducts evaluation of competitors' submissions on the Regional Contest;
    • prepares the standings of the Regional Contest;
    • makes the final decision on the disqualification of the participants, who violate the Rules or the Regulations of the Regional Contest;
    • determines the Regional Contest  winner and awardees;
    • forms the supplementary set of problems and tests for the Subregional Contests.
  • The Technical Committee of the Regional Contest consists of the Head of the Technical Committee, the Heads of the Subregional Contests' Technical Committee and other Technical Committee members.
  • The Technical Committee of the Regional Contest:
    • prepares the Technical Regulations together with the Executive Committee of the Jury;
    • carries out configuration of computers according to the Technical Regulations;
    • ensures uninterrupted operation of computers during the Regional Contest;
    • ensures the conduct of the Regional Contest in the correspondence to these Regulations and the Regional Contest Rules.

Organization of the Subregional Contests

  • The Subregional Contest Director is appointed by the Board of directors of the Regional Contest
  • The Subregional Contest Director:
    • establishes Organizational Committee of the Subregional Contest;
    • prepares recommendations to the Organizational Committee of the Subregional Contest concerning Jury and Technical Committee of the Subregional Contest.
  • Organizational Committee of the Subregional Contest:
    • settles the dates of the Subregional Contest;
    • approves Jury and Technical Committee of the Subregional Contest put forward by the Subregional Contest  Director;
    • creates and approves the expense estimate of the Subregional Contest;
    • approves Technical Regulations of the Subregional Contest put forward by Jury and Technical Committee of the Subregional Contest;
    • determines the place of residence for competitors, delegation heads, members of the Jury and the Technical Committee of the Subregional Contest;
    • determines the venue of the Subregional Contest  and issues the corresponding order;
    • supplies the venue of the Subregional Contest  with computers according to the these Regulations, Technical Regulations, safety measures and hygiene and sanitary standards;
    • carries out registration of participants;
    • organizes and carries out the award ceremony for the Subregional Contest  participants;
    • analyzes and generalizes the results of the Subregional Contest.
  • The Jury of the Subregional Contest consists of the Head of the Jury and at least three other Jury members.
  • The Jury of the Subregional Contest:
    • prepares the Technical Regulations of the Subregional Contest together with the Technical Committee of the Subregional Contest;
    • develops and approves the problem statements and the tests for submission evaluation for the Subregional Contests or takes the decision to use the set of the problems formed by Executive Committee of the Jury of the Regional Contest;
    • conducts evaluation of competitors' submissions on the Subregional Contest;
    • makes the final decision on the disqualification of the participants, who violate the Rules or the Regulations of the Subregional Contest;
    • prepares the Subregional Contest  standings;
    • determines the Subregional Contest  winner and awardees.
  • The Head of the Jury of the Subregional Contest forms the Executive Committee of the Jury of the Subregional Contest if necessary. In other case, all duties of the Executive Committee are held by the Jury.
  • The Technical Committee of the Subregional Contest consists of the Head of Technical Committee and Technical Committee members.
  • The Technical Committee of the Subregional Contest:
    • prepares the Technical Regulations of the Subregional Contest together with the Jury of the Subregional Contest;
    • carries out configuration of the computers according to the Technical Regulations of the Subregional Contest;
    • ensures uninterrupted functioning of the machinery during the Subregional Contest;
    • ensures the conduct of the Subregional Contest in the correspondence to these Regulations and the Subregional Contest Rules.

Team Composition

  • A representative of the sponsoring institution of higher education, typically a faculty member, must serve as or designate the team coach. The coach certifies the eligibility of contestants and serves as the official point of contact with the team prior to and during contest activities. A team may only have one coach.
  • The coach must fully register teams in the ICPC Registration System 7 days before the subregional contest. A team is not eligible to compete in the regional contest until the regional contest director has accepted the team in the web registration system. Teams failing to comply with any of these requirements will be ruled ineligible to compete. Only registered reserves may be substituted for contestants. Such substitutions must be entered in the ICPC Registration System by the regional contest director before the contest begins.
  • Each team consists of three contestants and may have at most one official reserve. Teams with fewer than three are ineligible. Each contestant and reserve must satisfy the following competitor eligibility requirements.
    • A student must be willing and able to compete in the World Finals.
    • A student must be enrolled in a degree program at the sponsoring institution with at least a half-time load. This rule is not to be construed as disqualifying co-op students, exchange students, or students serving internships.
    • A student may compete for only one institution during a contest year.
    • A student who has competed in two World Finals is not eligible to compete.
    • A student who has competed in five Regional Contests is not eligible to compete. Subregional contest and Regional contest for which that Subregional contest is qualifying count as one contest for this rule. (Therefore a competitor may totally compete in five seasons at most).
    • Each competitor must satisfy at least one of the following:
      • be born not earlier than January 1, 1995;
      • start his/her first post-secondary study not earlier than January 1, 2014;
      • have completed no more than 8 complete semesters of full-time study (ICPC Manager verification required).
  • In the event of qualifying to advance to the World Finals, competitors must be prepared to provide a history of work and educational experience including a transcript to substantiate eligibility.
  • In case of organizational or technical impossibility to provide participation of all teams that applied, the Subregional Contest Director of Subregional Contest has the right to institute additional requirements towards the Subregional Contest participants, provided that it is approved by the Regional Contest Director.
  • Winners of Subregional Contests and other teams are admitted to participate in the Regional Contest according to Teams Selection Regulations approved by the Board of directors of the Regional Contest.

Procedure of organization and conducting of the Contest

  • The Contest round is five hours long. During the round each team is provided with one personal computer and a set of problems. At least eight problems and at most fourteen problems are proposed.
  • During the Contest, contestants solve the proposed problems. A solution to a problem is a program written in one of the supported programming languages. Contestants may solve different problems using different supported programming languages.
  • Contestants may bring and use unannotated natural language dictionaries (non electronic), blank sheets of paper and instruments for writing only. Contestants can use their Team Reference Document (TRD) that was submitted in advance during registration. Contestants may not bring or use any books (except dictionaries), other reference manuals, electronic dictionaries, program listings, any machine-readable information (software or data on any kind of storage), computing devices (handhelds, portable PCs, notebooks, calculators, smart watches), mobile phones, or any other communication devices.
  • During the competition, contestants may communicate to members of their team, members of the Executive Committee of the Jury, the Technical Committee, and the Support Staff only.
  • All computers are be turned on before the beginning of the Contest. During the Contest each team is provided with an envelope containing problem statements (3 copies), limits and evaluation environment, and the problem statements errata and clarifications (if any). The envelope is placed under the keyboard.
  • Contestants may not touch the computer or problem statements before the beginning of the Contest. The Contest begins after the notification THE CONTEST IS STARTED.
  • Contestants may use network printer during the Contest. Support Staff delivers printouts to the teams.
  • In case of any issues with the computers, printers, or anything else contestants should ask the Support Staff for help.

Computer Configuration

  • Each team is supplied with one modern computer with installed operating system Windows 10 or newer, connected to the local network.
  • The following software is available to each team:
    • Microsoft Visual Studio Express;
    • GNU C++;
    • Java SDK;
    • Far Manager
    • Eclipse JDT+CDT;
    • Intellij IDEA;
    • Code::Blocks
    • gViM
    • Python
    • Kotlin
  • Technical Committee holds right to install patches and updates of the listed software.
  • Login and password for the operating system are indicated in the Contestant Handbook.

Programming languages

  • A solution to a problem is a program written in one of the following programming languages:
    • Java;
    • C++;
    • Python;
    • Kotlin.
  • Jury doesn't guarantee that all problems can be solved using Python programming language.
  • The jury uses the following commands to compile solutions:
    CompilerCommand Line
    Visual C++cl /O2 /EHs /TP <source file>
    GNU C++ (MinGW)g++ -O2 -Wl,--stack=67108864 -x c++ -std=c++11 <source file>
    Javajavac <source file>
    Pythonno compilation
    Kotlinkotlinc <source file>
  • The jury uses the following commands to run solutions:
    LanguageCommand Line
    C++<executable file>
    Javajava -Xmx512M -Xss64M <class file>
    Pythonpython <source file>
    Kotinjava -Xmx512M -Xss64M <class file>

Run evaluation

  • Solutions to problems that were submitted for judging are called runs. Immediately after submission of any run, the team may continue working on other problems.
  • The size of the file with the run may not exceed 256KB.
  • Each run is judged as accepted or rejected.
  • The run is evaluated by executing it on a secret set of tests, common for all participants. A run is accepted only if it gives correct answers to all tests.
  • Runs are not allowed to:
    • access the network;
    • perform any I/O except for opening, closing, reading, and writing of files and standard streams that are explicitly specified in the problem statement;
    • attack system security;
    • execute other programs and create new processes;
    • change file system permissions;
    • work with subdirectories;
    • create or manipulate any GUI resources (windows, dialog boxes, etc.);
    • work with external devices (sound, printer, etc.);
    • do anything else that can stir the evaluating process and the Contest.
  • The Contest software uses different methods to reveal violations of the above restrictions.
  • Evaluation is performed automatically, that is why a program should respect formats of input and output described in the problem statement. If not explicitly stated otherwise, all input data are considered to be correct and satisfying all restrictions from the problem statement.
  • The memory limit is the maximum amount of memory that a run may utilize.
  • The time limit is the maximum execution time per test.
  • Time and memory limit for each problem is specified in problem statements. A run is not accepted if the program exceeds these limits.
  • As soon as the run is evaluated, a team receives a message with the evaluation results. This message will be shown on the screen. A team is informed whether the run is accepted or not. If the run is rejected the error type and the test number are indicated.
  • All tests cases are numbered from one. The first test cases in the test set are the sample tests from the problem statement ordered in the same way as in problem statement. The following tests are ordered with the idea to make easier test cases come before harder ones, although there are no guarantees.
  • The possible outcomes are listed in the following table.
    OutcomeTest NumberCommentPossible Reasons
    Compilation errorNoExecutable file was not created after compilation.
    • Syntax error in the program;
    • wrong file extension or language specified.
    Security violationYesThe program tried to violate the contest rules.
    • Error in the program;
    • purposeful rules violation (the violating team is disqualified in this case).
    Time limit exceededYesThe program exceeds the time limit.
    • Inefficient solution;
    • error in the program.
    Memory limit exceededYesThe program exceeds the memory limit.
    • Inefficient solution;
    • error in the program.
    Idleness limit exceededYesThe program doesn't consume processor time for a long period.
    • not flushing output in interactive problem, waiting for input while output is still buffered;
    • not printing end of line character after output in interactive problem;
    • error in interactive problem protocol, waiting for input by mistake;
    • error in the program.
    Runtime errorYes The program terminates with non-zero exit code or throws an uncaught OS exception.
    • Runtime error;
    • 'return (non-zero)' statement in C++ main function;
    • 'System.exit(non-zero)' in Java;
    • uncaught exception.
    Wrong answerYesThe answer is not correct.
    • The algorithm is not correct.
    • Output format is not correct;
    • Error in program.
    AcceptedNoRun is accepted.
    • Program is correct.
  • Note that there is no Presentation Error outcome, you get Wrong Answer if your output is not correctly formatted.
  • The possible outcomes in the table are listed in their order of priority. For example, if runtime error has occurred, then output is not checked.
  • Evaluation process may be stopped several minutes before the end of the Contest. All runs submitted after this moment will be evaluated just after the end of the Contest.
  • The Executive Committee of the Jury will publish all submitted runs after the end of the Contest.
  • The Executive Committee of the Jury will publish the official test set that was used to evaluate participants' solutions after the end of the Contest.

Clarification Requests

  • During the Contest the participants can make Clarification Requests on the problem statements. The clarification request must exactly identify the part of the problem statement that the team considers ambiguous together with the possible interpretations. The Jury encourages participants to use the sample input and output for resolving (apparent) ambiguities.
  • Clarification requests are accepted only in English. A team fills out a Clarification Request form in Contest software and submits it to the Jury.
  • When the Executive Committee of the Jury responds to the clarification request, the team receives their answer in the Contest software. If the clarification request is incorrect or the answer is clear from the problem description, the Jury answers No comments. If the Jury agrees that there is an ambiguity or error in the problem statement, a clarification may be issued to all teams.

Practice Session

  • During the practice session teams become familiar with the contest environment and the contest software solving sample problems (1–3 simple problems).
  • During the practice session teams may not store any source code anywhere except working directory.
  • During the practice session teams may not attach any devices to the computer or alter its hardware configuration.
  • The results of the practice session are not taken into consideration when determining the Contest standings. However, the Executive Committee of the Jury may disqualify participants from the Contest any team violating the contest rules during the practice session.

Scoring of a Contest

  • A team that has solved more problems is placed higher.
  • In case of equality in the number of solved problems, the team that has a smaller penalty time is placed higher.
  • In case of equality in the number of solved problems and the penalty time, the team that has submitted its last accepted run first, is placed higher.
  • The penalty time is the sum of the time consumed for each problem solved. The time consumed for a solved problem is the integer number of minutes 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 penalty time consumed for a problem that is not solved. There is no penalty time for rejected runs after the first accepted run. There is no penalty time for runs that failed to compile.
  • Scoring of the team is based only on the time of the first accepted run for each problem.

The results of the Regional Contest

  • According to the standings, the Regional Contest winner team is determined. Teams in the leading places are awarded diplomas indicating the places that they achieved.