Welcome to Yandex.Algorithm 2014, an open programming championship with original rules, prizes, monetary awards and an exciting final round in Berlin. Full information about the schedule of events is available on the Schedule webpage.
Specifics of the tournament
Yandex.Algorithm 2014 will be scored using the TCM/Time system and consists of six rounds: test, qualification, three elimination and final rounds. The final will be held on August 1, with the main event taking place in new Yandex office in Berlin. Each round will last 100 minutes and include a set of algorithmic problems. In the meantime, you can practice on problems from Yandex.Algorithm 2013
All participants, who have solved at least one problem during the warm-up or qualification round will advance to the elimination stage.
The elimination stage consists of three rounds, with each round starting at a different time to give contestants from each time zone the opportunity to choose a comfortable participation time. Participants of the elimination stage earn score points based on their performance in each elimination round according to the Grand Prix 30 system. You can read the full description of the system on the Rules webpage. Top 25 participants of the elimination stage will be invited to the final round.
TCM/Time rules are similar to ICPC rules with the difference of “blind” submissions. Upon submission, blindly submitted solutions are tested only on a sample test set, and the overall result on the problem is shown only after the end of the contest. There is a bonus for the risk – successful blind submissions will subtract penalty time based on the number of contestants who have solved the given problem. As a result, total penalty time can even be negative! You can read the full description of the TCM/Time system on the Rules webpage. Read them carefully. More technical information is available on the Compiler settings webpage.
The final round will take place on August 1 in new Yandex office in Berlin, Germany.
Prizes and awards
The top 3 finalists will gain 300,000, 150,000 and 90,000 rubles respectively. Top 150 participants of the elimination stage will receive a souvenir.
Take part in the contest and win! Good luck!
|Start time (Moscow time)||End time (Moscow time)||Duration|
|Warm-up round||16 May 2014, 21:00||16 May 2014, 22:40||1:40|
|Qualification round||25 May 2014, 00:00||26 May 2014, 00:00||1:40 (virtual)|
|Round 1||1 Jun 2014, 05:00||1 Jun 2014, 06:40||1:40|
|Round 2||6 Jun 2014, 21:00||6 Jun 2014, 22:40||1:40|
|Round 3||15 Jun 2014, 13:00||15 Jun 2014, 14:40||1:40|
|Final round||1 Aug 2014, 16:00||1 Aug 2014, 17:40||1:40|
You are eligible to take part in the contest if you are 18 years of age or older as of the beginning of the warm-up round (May 16, 2014). If you are under 18 years of age as of the beginning of the warm-up round (May 16, 2014), you may only take part in the warm-up, qualification and three elimination-stage rounds.
All employees of Yandex, people directly involved in organising the contest and their immediate relatives and family members are not permitted to take part in the contest.
To participate in the contest, you need to register and provide the requested information. The organising committee reserves the right to disqualify any contestant for submitting incorrect information during the registration process. The full list of required information is provided in the contest regulations. Registration will be opened at 0:00 on April 9 (Moscow time zone, UTC + 4) and will close at the end of the qualification round.
3. Scoring system for each round: TCM/Time
Conducting the tournament
Each contest round lasts 100 minutes. Submitted solutions are tested during the round. Contestants submit their solutions into the contest system with the help of the software provided. Before submitting a solution, the contestant chooses the compiler that will be used by the contest system, which runs on Linux, to compile the solution. Information about the compilers and their settings as well as the configuration of the testing servers can be found in the Compiler settings web page of the competition site.
Solutions are tested by running them against a set of test cases that is not available to the contestants and is the same for all contestants. A solution is considered accepted if it produces correct answers to all test cases in the given time and memory limits. Testing is run automatically, so solutions have to follow input and output formats described in the problem statement of each problem precisely. Unless written otherwise, all input data is supposed to be correct and satisfy all constraints mentioned in the problem statement.
The maximum execution time for any test case is specified in each problem statement. If a solution exceeds this limit on at least one of the test cases, this solution is considered incorrect.
When a solution is ready, the contestant submits it into the contest system for checking, and may then continue working on other problems.
Before submitting a solution to each problem for the first time, the contestant has to choose whether he or she wants to make the submission “open” or “blind”. This decision cannot be changed later. Results will be shown to the contestant immediately after a submitted solution has been tested.
After making an “open” submission, the contestant is informed whether his or her solution is accepted. If it is not, the contestant is also told the type of error and the index number of the failed test case.
Solutions that are “blind” submissions are tested on the sample test cases only (from the problem statement). If a solution doesn’t pass these test cases correctly, the contestant is told the type of error and the number of failed test case. If it does pass, the problem is considered to be preliminarily solved. Submitting further solutions to this problem becomes impossible. The final result of testing is announced after the end of the contest.
|Outcome||Test number is provided?||For “open” submissions||For “blind” submissions||Possible reason|
|OK||No||The solution is accepted||The solution passed all sample test cases||The solution works correctly on the corresponding set of test cases|
|Compilation error||No||Compilation of the solution failed||Compilation of the solution failed||1. Syntax or semantic error in the solution 2. Solution language was chosen incorrectly|
|Wrong answer||Yes||Incorrect output on one of the test cases||Incorrect output to one of the sample test cases||1. A mistake in the solution 2. Wrong algorithm|
|Presentation error||Yes||Output cannot be checked as its format doesn’t satisfy the requirements||Output to one of the sample test cases cannot be checked as its format doesn’t satisfy the requirements||1. Incorrect output format 2. No output at all 3. Extra output|
|Time-limit exceeded||Yes||The solution exceeded the time limit||The solution exceeded the time limit on one of the sample test cases||1. A mistake in the solution 2. The solution isn’t efficient enough|
|Memory limit exceeded||Yes||The solution exceeded the memory limit||The solution exceeded the memory limit on one of the sample test cases||1. A mistake in the solution (eg.: infinite recursion) 2. The solution isn’t efficient enough|
|Run-time error||Yes||The solution stopped working with a non-zero exit code||The solution finished working with a non-zero exit code on one of the sample test cases||1. Runtime error 2. The solution doesn’t end with “return 0” in case of C/C++ 3. Non-zero exit code is manually specified|
In the case of Compilation error, the solution is not run against any test cases. In the case of Run-time error, Memory limit exceeded, or Time limit exceeded, output of the solution is not taken into account.
Consecutive submissions of the same source code made by the same contestant are ignored. If a submission was considered incorrect because of a compilation error, this submission is not taken into consideration when the total penalty time is calculated. “Blind” submissions that did not pass at least one sample test case are not taken into consideration either.
The sample test cases in the system always match the sample test cases from the problem statement in the same order.
Preliminary and final rankings of round
Contestants are ranked by number of solved problems. Contestants who solve the same number of problems are ranked by total penalty time.
Total penalty time is determined as the sum of time taken and “bonuses for blind submissions” for each accepted problem.
The time taken for a solved problem is the time elapsed from the beginning of the contest to the submission of the accepted solution, plus, if the submissions to this problem were “open”, 20 penalty minutes for each previously submitted incorrect solution.
If a problem is solved with a “blind” submission, the total penalty time is decreased by n seconds, where n = ((number_of_contestants_who_did_not_solve_this_problem) × (contest_length_in_seconds)) ÷ (total_number_of_contestants).
Total penalty time is calculated up to a second. Problems that have not been solved by the end of the contest do not add anything to the total penalty time (including penalty for incorrect submissions).
In the rankings, problems solved with an “open” submission are denoted by “+” followed by the number of incorrect submissions to this problem (if any). For example, the rankings contain “+” if the problem is solved on the first attempt, and “+2” if it is solved on the third attempt. Unsolved problems that have “open” submissions are denoted by “-” followed by the number of incorrect submissions to this problem. Problems that have a “blind” submission which passed all sample test cases are denoted by a question mark, “?”. The current rankings are displayed under the assumption that all “blind” submissions will be accepted.
After the end of the contest, all “blind” submissions are retested on the full set of test cases, which is the same as the set of test cases that was used for testing “open” submissions (“system test cases”). The results of this testing become the only results for these solutions.
In the final rankings, unlike the preliminary rankings, problems that have a “blind” submission which passed all system test cases are denoted by a green tick (✔), and problems which have a “blind” submission which failed on at least one system test case are denoted by a red X (✗).
4. Contest structure. Grand Prix 30
The contest consists of six rounds. All times mentioned are in the UTC + 4 (Moscow) time zone. Only those contestants who have correctly solved at least one problem in the test or qualification rounds will be eligible to proceed to the elimination round. For all rounds, the problems will be original.
The warm-up round will start at 21:00 on May 16, 2014. All participants, who solved at least one problem, advance to the elimination round.
The qualification round will start at 0:00 on May 25, 2014, and run for 24 hours. Contestants can start their qualification (lasting 100 minutes) by pressing the “start virtual contest” link. All contestants who solved at least one problem will advance to the elimination stage.
The elimination stage will consist of three rounds lasting 100 minutes each. Each round of the elimination will be scored separately using the Grand Prix 30 system. The top 30 participants of each round will earn score points based on table below.
If several participants perform equally in a round, the earned points are divided evenly between them.
Round 1 will start on June 1, 2014, at 05:00
Round 2 will start on June 6, 2014, at 21:00
Round 3 will start on June 15, 2014, at 13:00
The top 25 participants with the best cumulative results of all three elimination stage rounds will advance to the final.
The cumulative score consists of the sum of points, the total number of solved problems and the sum of penalty time earned in rounds.
The Yandex.Algorithm organising committee reserves the right to invite additional participants to the final round if there are declined invitations. Additional participants will be invited based on the cumulative result of all three rounds of the elimination stage.
The finals will take place in the Yandex Berlin office (Karl Liebknecht Strasse, 3), Berlin, Germany, on July 31 – August 2, with the final round competition itself taking place on August 1, 2014. Each participant who has advanced to the final round must confirm their participation by July 1, 2014, or else he or she will be disqualified.
Top 150 participants according to the cumulative result of all three elimination stage rounds will receive a souvenir with the contest logo.
Each final round participant will receive a round-trip economy-class airplane ticket or round-trip second-class (coupe) train ticket to Berlin to participate in the final. The Organiser will provide single-occupancy accommodation and meals for finalists during the event (July 31 - August 2, 2014). The Organiser will not provide travel documents or accommodation for finalists’ guests or compensate for additional multiple-occupancy charges.
The top three participants in the final round will be awarded the following prizes:
1st place – 300,000 rubles
2nd place – 150,000 rubles
3rd place – 90,000 rubles
Prizes are net of personal income tax, which will be accrued and paid by the Organiser in accordance with the legislation of the Russian Federation.
This Provision (hereinafter referred to as the Provision) regulates the procedure for the organisation and carrying out of the Contest “Yandex. Algorithm 2014” (hereinafter — the Contest).
Hereinafter the following terms are used:
1.1. Contestant — a legally capable individual of 18 years of age or older at the time of the test round, acting on his/her own behalf and performing the contest tasks according to Provision requirements.
1.2. Minor contestant — a minor individual from 6 to 18 years of age, acting on his/her own behalf, allowed to compete in the test and qualification rounds and the elimination stage of the Contest, and performing the contest tasks according to Provision requirements.
1.3. Employees of the Organiser and its affiliated companies, other persons involved in Contest organisation, and also members of their families, are not allowed to apply for Contest participation.
1.4. Solution — a completed solution to contest tasks sent by the registered Contestant to the Organiser during the term specified in item 4 hereof.
1.5. Finalist — a Contestant who has advanced to the Contest final round.
1.6. Contest winners — the Contestants who have advanced to the final round and have taken the first, second and third places respectively, whose Solutions are recognised as the best ones on the basis of the criteria specified in section 8 hereof.
2. Contest purposes
to support sport programming in Russia;.
to attract the world’s best programmers to participate in the competition;
to familiarise participants with career and educational opportunities at Yandex;
to develop the Yandex.Contest platform.
3. Contest Organiser
The Contest Organiser is Yandex Limited Liability Company.
4. Contest duration
announcement of Contest commencement — April 9, 2014;
warm-up round — May 16, 2014;
qualification round — May 25, 2014;
elimination stage — June 1–15, 2014:
first round — June 1, 2014;
second round — June 6, 2014;
third round — June 15, 2014;
announcement of the Contestants who have advanced to the final round — June 16, 2014;
final round — August 1, 2014;
announcement of Contest solutions and winners— August 1, 2014.
Detailed information on the terms of carrying out the Contest is available on the website.
5. Information on Contest rules
5.1. Information on Contest rules is available on the website.
5.2. The Contest Organiser reserves the right to introduce alterations to Contest rules by placement of an announcement of alterations of Contest rules on the website.
6. Procedure for Contest participation
6.1. Registration of Contestants will start at 00:00 on April 9, 2014, will be effective until termination of the qualification round, and will be made by filling in the electronic registration form.
6.2. Minor contestants are allowed to compete only in the warm-up and qualification rounds and elimination stage of the Contest.
6.3. When filling in the Contest registration form, one shall specify:
contestant’s first name and surname;
the country represented;
date of birth;
permanent address of residence;
educational status (student or graduate);
place of work, study;
preferred programming language.
6.3.1. Additional data that must be provided by the Contestants who advance to the final round of the Contest:
6.4. Having registered, the Contestant agrees to processing by the Organiser of the personal information specified in the registration form, including other personal information provided by the Contestant to the Organiser within the framework of the Contest, including to commitment by the Organiser in any way of the actions specified in item 3 of Art. 3 of the Federal Law of 27.07.2006 No. 152-FZ “On Personal Information”. This consent shall be effective for three years.
6.5. A Contestant is considered to have been registered, provided the Contestant filled in the obligatory fields of the registration form, read and confirmed his/her consent to Contest rules, read and confirmed his/her consent to this Contest Provision and put a tick in the corresponding checkbox. Only those Contestants whose applications are approved by the Contest Organiser are allowed to participate in the Contest.
6.6. After registration, Contestants are allowed to send Solutions to the Organiser within the terms specified in item 4 hereof.
7. Procedure for Contest final round
7.1. The Contest final round will take place in the office of Yandex, Berlin, Germany. The Organiser reserves the right to change the date and venue of Contest final round by placement of an announcement specifying the Contest final round time and venue changes on the website.
7.2. The Organiser shall arrange and provide the Contestants who have advanced to Contest final round with a free round-trip economy class airplane ticket from the airport nearest to his/her place of residence or, if the finalist wishes, a railway round-trip coupe ticket to the venue of the Contest final round, and also with single occupancy accommodation for the period of Contest final round and announcement of Contest Solutions (July 31 – August 2, 2014). The Organiser shall not pay for hotel accommodation on other days, or for accommodation for Contest guests. For journey and accommodation arrangements, the Finalist shall respond to the electronic letters sent by the Contest Committee to the address specified upon registration, within no more than two days of receipt of such letter, and also provide data requested by the Contest Committee for registration of trip documents and accommodation.
7.3. In the event that obtaining a passport and/or a visa is necessary, the Contestant shall independently and at his/her own expense register and obtain such documents. The Organiser shall bear no responsibility for formulating and receiving by the Contestant of a passport and/or a visa.
8. Requirements for Contest Solutions
8.1. Requirements for Solutions, and also the procedure and criteria of assessment of Solutions, are described in detail in the Contest rules.
8.2. For Solutions assessment, the Contest committee shall be formed of Organiser employees. The Committee staff and regulation of its work shall be approved by the Financial Director of the Organiser.
8.3. Based on the assessments, the Contest committee shall define the winners who have taken the first, second and third places.
8.4. The Solutions presented to the Contest shall not be returned.
9. Contest Solutions Announcement
9.1. The summing-up of Contest Solutions will take place with the announcement of three winners in the Yandex office (Karl Liebknecht Strasse, 3, Berlin, Germany) and placement of information on winners on the website.
9.2. Contestants agree to publication of Finalists’ surname, name, middle name, photo and biography on the Organiser’s website.
10.1. Prizes shall be provided by the Contest Organiser.
10.2. The top 150 participants will receive a souvenir with the Contest logo.
10.3. The top three participants of the final round will be awarded with the following prizes:
first place — 300,000 rubles;
second place — 150,000 rubles;
third place — 90,000 rubles.
10.4. The amounts of the awards specified in item 10.3. hereof are net of personal income tax, which will be accrued and paid by the Organiser according to the legislation of the Russian Federation.
11. Procedure for receiving prizes
11.1. The Contest Organiser will provide winners with prizes by transferring funds to the bank accounts specified by the winners.
11.2. For receiving a prize, the winner shall provide to the Organiser the following documents:
11.2.1. A digital copy of the Contestant’s identity document (for citizens of the Russian Federation – passport pages with personal data, and also the page with the residence address [registration]; for foreign citizens – passport pages with personal data, pages with Russian visas [if the Contestant actually lives in Russia]).
11.2.2. A digital copy of the individual’s certificate of registration with a tax authority at the place of residence in the territory of the Russian Federation — if available.
11.2.3. A digital copy of the certificate of the Pension Fund of the Russian Federation — if available.
11.2.4 . The original consent to Contest rules (in the form prepared by the Organiser).
11.2.5. Bank account details.
12. Final provisions
12.1. The Contest shall be organised and carried out in the territory of the Russian Federation according to the legislation of the Russian Federation.
12.2. Sending an application for Contest participation means an unconditional consent of the Contestant to all Contest rules and this Provision.
12.3. As to all other issues not settled by this Provision, the Organiser and Contestants shall be guided by the current legislation of the Russian Federation.
12.4. All disputes and disagreements which arise in connection with the organisation and carrying out of the Contest shall be settled by negotiations. Disputable issues, which have not been settled by negotiations, shall be referred to court at the Organiser’s jurisdiction.
12.5. The Contest Provision is issued both in Russian and English languages. When construing this Provision, the Russian wording shall prevail.