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. |
|
-
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.
|