ICPC is the largest and most prestigious programming contest in the world. It has been established 40 years ago, with the number of participants growing every year. For instance, last season 50,000 programming students from 3,233 universities located in 110 countries of the world took part in the contest.
Each team has to go through a complicated multi-tiered selection in its respective region: according to the rules of the contest, the universities are grouped into regions depending on their geographic location with each region hosting its own semifinals.
Some of the larger regions are also divided into subregions, each of which has a quarterfinal.
In the Northern Eurasia (Russia, the CIS and Baltics) ICPC Finals was held from November 29 to December 1. The competition was simultaneously held in four cities: St. Petersburg, Barnaul, Tbilisi and Almaty.
310 student teams took part in the regional finals. The number of teams by country is as follows: 172 – Russia; 31 – Kazakhstan, Georgia; 16 – Uzbekistan, Azerbaijan; 12 – Belarus; 7 – Armenia; 3 – Lithuania; 2 – Latvia.
The rules of the contest
Each team may consist of no more than three students aged under 25. Two-time world finalists are not allowed to take part in the contest.
The teams have five hours to solve 8-13 algorithmic problems, which any professional programmer might face in their daily work. Solutions are programs written in any one of the four accepted programming languages: C++, Java, Python or Kotlin.
These programs are then run on test data which is compiled by the judges in advance; these tests are done in real time. The completeness of the programs, as well as the time it took a team to create and the number of trials, are taken into account. For every problem solved the team receives a time penalty (the amount of time elapsed since the start of the round). Each failed trial also means that 20 points will be subtracted from the team’s total.
Another special ICPC feature is that each team only has one computer with no access to any outside network. The participants thus have to establish good teamwork, demonstrating the skills needed to develop a product in any IT company.
The St. Petersburg semifinals
This year’s Northern Eurasia Regional Finals took place in the “Russia is My History” multimedia park. 139 student teams from Russia, Belarus, Latvia and Lithuania competed for the Northern Eurasia Regional Cup in St. Petersburg.
The teams were presented with 12 problems they had to solve in five hours. Just like in the ICPC finals the problems had different difficulty levels.
“This year the problems were less technical: they didn’t require a lot of code, but an active exchange of ideas within the team. It’s a general tendency with the semifinal problems, but it was more pronounced this year,” explains Niyaz Nigmatullin, one of the judges, a tutor at ITMO University’s Information Technologies and Programming Faculty and a two-time ICPC champion (2012, 2013). “We try to find problems on various topics. The problems in the finals change every year, so the teams have to be ready for anything.”
Lectures and workshops from Yandex, JetBrains, Huawei, Deutsche Bank, Devexperts, Megafon and Sberbank also took place on each of the three contest days.
According to Stanislav Stolyar, a contest of this scale are a great opportunity for a talented programmer to land a job at a major company.
“You are all great at programming, but not everyone is going to win. There is one aspect that you all have in common: you will always be able to find a job. One other important aspect is the life-long friendships formed here; cherish your friends and never forget the people that brought you here, your coaches, teachers and mentors,” he noted.
Pavel Belov, the senior innovations manager at Megafon, admitted he was a fan of ICPC.
“It’s good to realize there is a sport where Russia is a winner every year. Let’s keep it that way and leave no chance to win for anyone else,” he said.
The results
The absolute winner of the Northern Eurasia Finals (NERC) is a team from St. Petersburg State University. Nikita Bykov, Semyon Petrov and Dmitry Belichenko solved ten problems faster than any other team. The gold medalists are a team from Nizhny Novgorod State University with ten problems solved as well as teams from Moscow Institute of Physics and Technology and ITMO University (Dmitry Sayutin, Arseny Kirillov, Nikolay Budin) that each solved nine problems.
ITMO University had five teams in total in the regional finals. The gold-winning “ITMO 1” team has been in training since last spring. According to Andrey Stankevich, the team’s coach who has raised several generations of ICPC winners, “ITMO 1” has been making great progress.
“Moreover, Gennady Korotkevich, a frequent winner of major international programming contests, is now part of the coaching team. We are really grateful that he agreed to do it. His experience came in very handy,” said Stankevich. “It is thanks to this support that the team managed to demonstrate great improvement. We will keep on working and, hopefully, will compete for medals in the world finals.”
The full list of universities that will take part in the ICPC 2020 World Finals:
- Saint Petersburg State University;
- Nizhny Novgorod State University;
- Moscow Institute of Physics and Technology;
- ITMO University;
- Innopolis University;
- Higher School of Economics;
- Belarusian State University;
- University of Latvia;
- Lomonosov Moscow State University;
- Higher School of Economics (St. Petersburg Campus);
- Saratov State University;
- Belarusian National Technical University;
- Kazan Federal University;
- Yerevan State University;
- Belarusian State University of Informatics and Radioelectronics.
The winners of Northern Eurasia regional finals received gifts from Huawei, the golden sponsor of ICPC NERC.
“My congratulations to every student and university taking part in the ICPC in Northern Eurasia. I would like to thank ITMO University, the home of ICPC NERC, for hosting and coordinating these contests for over 25 years. A special thank you to Huawei for sponsoring ICPC NERC and JetBrains for their global support. The teams here compete at a very high level by world standards. We are looking forward to meeting the 16 Northern Eurasia teams among other 119 teams on the next stage, the ICPC World Finals 2020, which will take place in Moscow and will be hosted by the Moscow Institute of Physics and Technology with support from Huawei,” highlighted Bill Poucher, ICPC Executive Director, at the closing ceremony.
Forecasts for the finals
The season has only just begun and it is too soon to talk about potential ICPC 2020 Finals favorites. The regional winners are yet to take part in training camps where they will face their counterparts from other regions. Andrey Stankevich also notes that surprises might be awaiting the teams at the finals.
For instance, the Chinese teams are demonstrating outstanding results for the second season in a row both during regionals and the training camps. This year, judging by the broadcast that went simultaneously with the Northern Eurasia Finals, the Chinese participants were able to solve all of the problems an hour before the time ran out. However, last year the teams from China could not compete for the gold despite an equally great start of the season.
The Finals of the Russian Programming Competition for School Children
November 30 also marked the finals of the Russian Programming Competition for School Children.
It is not only Russian pupils that take part in the contest. This year’s event included 45 teams from Kazakhstan, 18 from Ukraine, 12 from Belarus, 9 from Georgia, 8 from Tadzhikistan, 7 from Armenia, as well as 4 teams from Kirgizia and 2 from Azerbaijan. The Russian participants were 161 teams from 100 schools. The contest took place in five cities: St. Petersburg and Barnaul (Russia), Almaty (Kazakhstan), Tbilisi (Georgia), Kremenchuk (Ukraine).
The winners are a team from Ekaterinburg (the Special Educational and Scientific Centre and Gymnasium 9; Ivan Lakhtin, Viktor Mikhailov, Alisa Gladchenko). They were the only team that solved all ten problems. Their coaches are Nina Grein, Svetlana Sandakova and Ekaterina Paramonova.
Students from School 199, Tbilisi (Georgia) came second and a team from Special Educational and Scientific Centre of Moscow State University and School 57 took the third place.
The fourth place was taken by a St. Petersburg team from Lyceum 239 and Junior Mathematical School.
According to Andrey Stankevich, the finals brought a lot of surprises.
“Many of the favorites were stuck: they either couldn’t handle their nerves or the tasks, or maybe it was down to a teamwork malfunction. As a result, a quiet team from Ekaterinburg with two last year’s bronze medallists took the lead from the very beginning and won by a one problem margin. It is important to point out that there is a girl on the team, Alisa Gladchenko. It is always great to see more girls entering IT. Hopefully, Alisa’s example will be a sign to every girl out there having doubts about going into programming; a sign that they should join in,” he noted.