With every year, this highly prestigious competition expands its geographical scope: this year 140 teams from 51 countries competed for the main prize. This year’s ACM ICPC is held for the 42nd time.
The 2018 contest is certainly a stand-out. Since 2012, the World Cup was consistently taken by two universities of St. Petersburg - ITMO University (four wins since 2012) and St. Petersburg State University (two wins since 2012). ACM ICPC-2018, although not the best year for the two leaders, has revealed a new “star” - the team from Lomonosov Moscow State University, who have previously never held the world champion title, but won the gold numerous times, even finishing in second place on five occasions.
The MSU team came to Beijing with a completely new line-up: this year’s world champions are Mikhail Ipatov, Vladislav Makeev and Grigory Reznikov and their coach Elena Andreeva. The students solved nine tasks, having submitted their final solution just two minutes before the contest ended. Teams from the Moscow Institute of Physics and Technology, Beijing University, and Tokyo University finished second, third and fourth respectively, all winning a gold medal.
ITMO University was placed ninth on the scoreboard and won the bronze medal, solving 7 tasks out of 12. This year the university was represented by first-year Master’s students of the Computer Technology Department Ilya Zban and Ivan Belonogov, who brought ITMO its seventh ICPC World Cup last year, and second-year Bachelor’s student of the Computer Technologies Department Mikhail Putilin, who participated in ACM ICPC finals for the first time. ITMO team’s coach is Andrey Stankevich, an associate professor at the Computer Technologies Department, who has mentored several generations of collegiate programming champions. In 2016 he was awarded the prestigious ACM ICPC Senior Coach Award after his trainees participated in the competition’s final round for 15 years in a row.
"We're glad to see the ICPC World Cup go to Russia once again," - says Andrey Stankevich, coach of ITMO University's team, - "None of the winners are really surprising; all of the gold winners are also winners of the IOI - the International Olympiad in Informatics - and were all considered as possible champions. ITMO University's team, unfortunately, experienced setbacks near the middle of the contest - they encountered a few issues that they had a hard time dealing with. Fortunately all the training paid off, and they still managed to win a medal despite the difficulties."
This year marks an unusual occurrence - citing intense competition, 13 teams instead of 12 were awarded medals. In addition to MSU, MIPT, and ITMO, Ural Federal University also won a medal - their fifth bronze medal overall. The full scoreboard can be seen here.
11 university teams represented Russia in this year’s contest: four teams from Moscow, three teams from St. Petersburg and one team from each Saratov, Perm, Novosibirsk, and Yekaterinburg. Russian universities have long had the reputation as some of the strongest: Russian teams first participated in the contest in 1993, and have won 12 world champion titles since 2000. Seven of those titles belong to ITMO University, which is an uncontested world record.
The International Collegiate Programming Contest is held annually since 1977 by the Association for Computing Machinery since 1977 and is becoming increasingly popular each year. 46,000 students signed up for the last year’s contest, which is four times more than the number of athletes at the Summer Olympics in Rio. This year, 140 teams from 51 countries and all regions of the world participated in the final stage. The contest was held at Beijing University, China’s largest higher education institution, said to be one of the world’s most beautiful campuses.
To get into the final stage, teams must first pass an intra-university qualifying stage and a regional stage. In December of last year, ITMO University became one of the four venues for the qualifying round in Russia and CIS; out of 300 participating teams, 16 were selected to represent Northern Eurasia.
According to the contest rules, teams can consist of up to three students, 25 years old or younger. Teams are given 5 hours to solve 8 to 12 algorithmic problems in English. Decisions are written in Java, C, C++, Kotlin or Python and submitted to a testing server. Solutions are then checked using a variety of intake tests the teams are not familiar with. If a program returns an incorrect answer - or exceeds the time and memory limits, teams are notified and allowed to submit another, fixed version. A problem is considered solved once all tests return positive results. Unlike in other contests, partial solutions are not admitted. The winners’ positions are decided by their number of solved tasks and the time it took to solve them.
One defining feature of the contest is that the problems are made to be as close as possible to real-life problems that programmers may encounter in their work. The teams only have access to a single computer without an internet connection and must demonstrate their teamwork skills, something that is crucial when developing real-life software. Participants must show their logic, ability to work under pressure, work in teams and distribute roles among team members. The contest organizers note that some of the tasks only require the students to be careful and attentive; others, however, call for in-depth knowledge of various algorithms. Solutions are checked in real-time using tests made in advance by the expert jury.
ICPC champions receive a World Champion Cup and a monetary prize of $15,000. Other prize winners don’t leave with empty hands, either: the top four winners receive gold medals and $7,500; fifth-to-eighth places correspond to silver medals and $6,000; finally, bronze winners (places 9 to 13) are awarded bronze medals and $3,000.