The International Collegiate Programming Contest has existed for 40 years now, and its popularity among young programmers is only growing. Last year, a record number of participants – more than 46,000 students from all over the world – was registered.

To compete in the final stage, teams must first pass an in-house selection and then a regional competition. A team can include no more than three students up to 25 years old. Over the course of five hours, programmers are tasked with solving eight to thirteen algorithmic problems; the conditions of the tasks are reminiscent of actual tasks one may encounter in real life. Each team only has a single computer with no internet access. Participants must demonstrate their teamwork skills – something that is also necessary when developing actual software as an IT specialist.

ACM ICPC Northern Eurasia regional contest at ITMO University

Solutions to the tasks are submitted in the form of software written in C++, Java, Python (since 2016), and Kotlin (since 2017). Teams submit their solutions to a testing system. If their software compiles successfully, provides the correct solutions and fits the criteria for memory use and time of completion, the solution is marked as successful. For each correct solution, a team is given penalty time (time spent on developing a solution). If the team has previously sent in incorrect solutions, each failure results in an additional penalty of 20 minutes. However, if the problem ends up being solved, no penalties are accumulated. Winners must complete as many tasks as possible while accumulating little penalties.

A live scoreboard for all the teams can be seen throughout the contest. One hour before the round ends, however, the scoreboard is “frozen”; in that time, teams can only see the results of their own submissions and the other teams’ number of attempts, but not their results. The scoreboard finally goes live again as the winners are announced. The scores start to change while the best-performing teams gradually move up the list. Since the results are continually updated, the winners are not know until the top two spots are revealed. This adds suspense and an air of competition to the process.

ITMO University's team during the regional contest at ITMO University

According to Roman Elizarov, chair of ITMO University’s jury for the qualifying round, the most resilient are the ones who win in ICPC. Few teams solve the more complex problems on their first try; sometimes, a team will take five or more attempts to find the correct solution. At times, they might not be able to solve any of the problems.

The Northern Eurasia regional contest was held at four venues; in addition to ITMO University, programmers competed at the Altai State Technical University (Barnaul), the Georgian Technical University (Tbilisi) and the Kazakh-British Technical University (Almaty). This year, in order to receive the diploma of an ICPC regional winner, teams had to solve at least 4 out of 12 problems. A total of 93 teams have managed to achieve sufficient results. Teams that solved half of the problems were awarded a grade-two diploma; at this year’s contest, 35 teams have succeeded at this. As Roman Elizarov points out, that is already an admirable result, something that only 10% of the contest’s participants have achieved. Finally, the 19 teams that completed 7 or more tasks received the grade-one diplomas.

Roman Elizarov

“What makes this year’s regional contest different from the previous ones is that a lot of new teams have come here this time; many of them have never met the others at all. It used to be that the new teams would fall behind the more experienced veterans. This time, the “old-timers” have yielded to the newcomers. Many of this year’s problems were sent in by the representatives of different universities from all over the region. Usually, most of the tasks are designed by the representatives of ITMO University, St. Petersburg State University and the St. Petersburg Academic University. This time, however, some of the tasks came from universities in Moscow; one was sent in from the Belarus State University; another one was designed by a representative of Google and a winner of one of the previous contests. They all did it of their own volition,” – comments Victoria Volochay, one of the organizers of the regional contest at ITMO University.

The number of teams that end up representing each region at the final round remains relatively unchanged year after year. It is calculated each year depending on the performance of a region’s teams. This year, the Northern Eurasia region will be represented by the 16 teams that showed the best results during the regional contest. Each university can only be represented by a single team, even though several teams from one university can compete in the regionals.

Teams representing the following universities will compete for the ICPC World Cup on April 15-20 in Beijing (sorted according to final ranking): Moscow Institute of Physics and Technology (1st place), Moscow State University (2nd place), ITMO University (3rd place), St. Petersburg Academic University, University of Latvia, Kazakh-British Technical University, Ural Federal University, University of Tartu, St. Petersburg State University, Perm State University, Vilnius University,  Belarus State University, Higher School of Economics, Moscow Aviation Institute, Saratov State University and Novosibirsk State University.

ACM ICPC Northern Eurasia regional contest at ITMO University

“The solutions to all the tasks we solved came to us quite easily; none of them were particularly easier or harder than others. The final one was probably the most fascinating: it involved a cryptosystem with a potential vulnerability and a set of rules by which it had to be cracked. As for the level of difficulty, none of them seemed any different from the regional contests from the previous years. It’s just that this year, the teams solved less problems on average,” – says the team from the Moscow Institute of Physics and Technology (Alexander Golovanov, Alexander Ostanin, Nikita Uvarov).

The students noted that this was their first time taking part in a regional contest as a team, and none of them has ever taken part in the final stage. Their team managed to solve 10 of the tasks in less time than their closest competitor – the team from Moscow State University, who also completed 10 of the contest’s tasks. In the third place is ITMO University’s team: Ilya Zban, Ivan Belonogov and Mikhail Putilin. Zban and Belonogov were part of the team that brought the ACM ICPC World Cup to ITMO University last year, making ITMO the world’s only seven-time winner of the contest. For Mikhail Putilin, this will be his first time competing in the final stage; he had previously taken part in the regional contest as part of ITMO University’s other teams.

ITMO University's team at the awards ceremony

“We were, of course, aiming to win in the regional stage, but what mattered the most was making it into the final stage. We weren’t quite lucky this time around, but we’ll push ourselves to our limits in preparation for Beijing in order to represent our university properly. This year we have a new member in the team and we worked well together. The tasks at the regional contest were, I think, very reminiscent of the ones in last year’s final stage, meaning that the teams had to perform really well to win,” – comments Ilya Zban.

The detailed results of the ACM ICPC Northern Eurasia regional contest can be seen here.