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.
-
Northern Eurasia Finals (the Contest) is the contest for Northern Eurasia teams
with best teams qualifying for World Finals of ICPC.
-
Due to COVID-19, 2020/2021 season has special regulations
that override these rules where applicable.
-
Teams first compete in Regional Contests. The
winning teams from each Regional Contest qualify to
advance to Northern Eurasia Finals, December 2020.
-
Northern Eurasia Finals is simultaneously organized at:
-
Saint Petersburg — St. Petersburg ITMO University;
-
Barnaul — Altai State Technical University;
-
Almaty — Kazakh-British Technical University;
-
Tbilisi — Business and Technology University.
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.
Conduct of a Regional Contest
-
Board of directors of Northern Eurasia Regional Contests:
-
establishes Organizational Committee of the Northern Eurasia Finals;
-
prepares recommendations to the Organizational Committee concerning Jury and Technical Committee;
-
appoints directors of Regional Contests in Northern Eurasia;
-
solves questions concerning organization of new Regional Contests in Northern Eurasia.
-
Organizational Committee of Northern Eurasia Finals:
-
settles dates of the final round of the Contest;
-
settles possible dates of the Regional Contests of the Northern Eurasia Finals;
-
approves Jury and Technical Committee put forward by the
Director of the Contest;
-
creates and approves the expense estimate of the Contest;
-
approves Technical Regulations of the 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 Contest and issues the corresponding order;
-
supplies of the venue of the 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
Contest participants;
-
analyzes and generalizes the Contest results.
-
The Northern Eurasia Finals Jury consists of the Jury
Chairman and other Jury members.
-
The Northern Eurasia Finals Jury:
-
proposes problems for the Northern Eurasia Finals;
-
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 Contest;
-
develops and approves the problem statements for the Contest;
-
develops the tests for submission evaluation for the final
round of the Contest, including automated problem checkers;
-
conducts evaluation of competitors' submissions on the
Contest;
-
prepares the standings of the Contest;
-
makes the final decision on the disqualification of the
participants, who violate the Rules or the Regulations
of the Contest;
-
determines the Contest winner and awardees;
-
forms the supplementary set of problems and tests for the
Regional Contests.
-
The Technical Committee of the Northern Eurasia Finals consists of the
Head of the Technical Committee and other Technical
Committee members.
-
The Technical Committee of the Northern Eurasia Finals:
-
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
Contest;
-
ensures the conduct of the Contest in the correspondence
to these Regulations and the Contest Rules.
Organization of the Regional Contests
-
The Regional Contest Director is appointed by the Board of directors
of the Northern Eurasia Regional Contests
-
The Regional Contest Director:
-
establishes Organizational Committee of the Regional Contest;
-
prepares recommendations to the Organizational Committee of the
Regional Contest concerning Jury and Technical Committee of the
Regional Contest.
-
Organizational Committee of the Regional Contest:
-
settles the dates of the Regional Contest;
-
approves Jury and Technical Committee of the Regional Contest put
forward by the Regional Contest Director;
-
creates and approves the expense estimate of the Regional Contest;
-
approves Technical Regulations of the Regional Contest put forward by
Jury and Technical Committee of the Regional Contest;
-
determines the place of residence for competitors, delegation
heads, members of the Jury and the Technical Committee of the
Regional Contest;
-
determines the venue of the Regional Contest and issues the corresponding order;
-
supplies 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 results of the Regional Contest.
-
The Jury of the Regional Contest consists of the Head of the Jury
and at least three other Jury members.
-
The Jury of the Regional Contest:
-
prepares the Technical Regulations of the Regional Contest together
with the Technical Committee of the Regional Contest;
-
develops and approves the problem statements and the tests for
submission evaluation for the Regional 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
Regional Contest;
-
makes the final decision on the disqualification of the
participants, who violate the Rules or the Regulations
of the Regional Contest;
-
prepares the Regional Contest standings;
-
determines the Regional Contest winner and awardees.
-
The Head of the Jury of the Regional Contest forms the Executive
Committee of the Jury of the Regional Contest if necessary.
In other case, all duties of the Executive Committee are
held by the Jury.
-
The Technical Committee of the Regional Contest consists of the
Head of Technical Committee and Technical Committee
members.
-
The Technical Committee of the Regional Contest:
-
prepares the Technical Regulations of the Regional Contest together
with the Jury of the Regional Contest;
-
carries out configuration of the computers according to the
Technical Regulations of the Regional Contest;
-
ensures uninterrupted functioning of the machinery during the
Regional Contest;
-
ensures the conduct of the Regional Contest in the
correspondence to these Regulations and the Regional 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 Regional 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.
If a student has competed in the Qualifier for the Regional Contest
but did not advance to the Regional Contest, this is not counted
as a paricipation in the Regional Contest.
-
Each competitor must satisfy at least one of the following:
-
be born not earlier than January 1, 1997;
-
start his/her first post-secondary study not earlier than January 1, 2016;
-
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
Regional Contest Director of the Regional Contest has the right to
institute additional requirements towards the Regional Contest
participants, provided that it is approved by the Northern Eurasia
Regional Contests Director.
-
Winners of Regional Contests and other teams are admitted to
participate in the Northern Eurasia Finals according to Teams Selection
Regulations approved by the Board of directors of the
Northern Eurasia Regional Contests.
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
-
CLion
- gViM
-
Emacs
- Python
-
PyPy
- 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:
Compiler | Command Line |
Visual C++ | cl /O2 /EHs /TP <source file> |
GNU C++ (MinGW) | g++ -O2 -Wl,--stack=67108864 -x c++ -std=c++17 <source file> |
Java | javac <source file> |
Python | no compilation |
Kotlin | 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 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 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.
|