Contest Rules

Introduction

  • Official contest rulebook is available on icpc.global.
  • Teams first compete in Regional Contests. The winning teams from each Regional Contest qualify to advance to Northern Eurasia Finals according to Teams Selection Regulations approved by the Board of directors of the Northern Eurasia Regional Contests.
  • Northern Eurasia Finals (the Contest) is the contest for Northern Eurasia teams with best teams qualifying for World Finals of ICPC.

Localization

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

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
    • CLion
    • gViM
    • Emacs
    • Python
    • PyPy
    • Kotlin

TRD, Dictionaries and Electronic Devices

  • 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), submitted and approved according to the procedure.
  • 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.

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:
    Compiler Command Line
    Visual C++ 2019 cl /O2 /TP /EHsc <source file>
    GNU C++ (MinGW) 9.2 g++ -O2 -Wl,--stack=67108864 -x c++ -std=c++17 <source file>
    Java 17 javac <source file>
    Python 3.10 no compilation
    PyPy 7.3.8 no compilation
    Kotlin 1.7.20 kotlinc <source file>
  • The jury uses the following commands to run solutions:
    Language Command Line
    C++ <executable file>
    Java java -Xmx512M -Xss64M <class file>
    Python python <source file>
    PyPy pypy3 <source file>
    Kotin java -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.
    Outcome Test Number Comment Possible Reasons
    Compilation error No Executable file was not created after compilation.
    • Syntax error in the program;
    • wrong file extension or language specified.
    Security violation Yes The program tried to violate the contest rules.
    • Error in the program;
    • purposeful rules violation (the violating team is disqualified in this case).
    Time limit exceeded Yes The program exceeds the time limit.
    • Inefficient solution;
    • error in the program.
    Memory limit exceeded Yes The program exceeds the memory limit.
    • Inefficient solution;
    • error in the program.
    Idleness limit exceeded Yes The 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 error Yes 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 answer Yes The answer is not correct.
    • The algorithm is not correct.
    • Output format is not correct;
    • Error in program.
    Accepted No Run 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 results of the Contest

  • According to the standings, the Northern Eurasia Finals winner team is determined.
  • Top teams are awarded medals.
    • Teams finishing in the top four positions will be awarded Gold Medals.
    • Those teams finishing fifth through eighth place will be awarded Silver Medals.
    • Those teams finishing ninth through twelfth place will receive Bronze Medals.