ITMO University Student Mikhail Putilin Wins VK Cup-2018



ITMO University student Mikhail Putilin became the champion of the international programming competition VK Cup-2018. Mikhail performed in a team with a student of St. Petersburg State University Alexander Logunov. The fifth tournament started with qualifiers back in March, and its final stage was held on August 11 and 12 at the main headquarters of VKontakte, where 20 teams from Russia, Ukraine and Belarus fought for victory and a prize fund of 2.5 million rubles.

ITMO University Student Mikhail Putilin Wins VK Cup-2018

ITMO University student Mikhail Putilin became the champion of the international programming competition VK Cup-2018. Mikhail performed in a team with a student of St. Petersburg State University Alexander Logunov. The fifth tournament started with qualifiers back in March, and its final stage was held on August 11 and 12 at the main headquarters of VKontakte, where 20 teams from Russia, Ukraine and Belarus fought for victory and a prize fund of 2.5 million rubles.

Finalists of VK Cup-2018. Source: vk.com/blog/vk-cup-2018

A record number of programmers registered to participate in the championship – 3279 people aged 14 to 23. Competitions are held in the format of pair programming. The team can consist of no more than two people, together the participants solve a common problem. This technique allows you to reduce the number of possible errors that can be made when solving. Although you can compete solo.

The final days started with a trial round: at this time, programmers rebuilt their computers, and also competed in the CodeGame Challenge. Each team had to write a game strategy for their football team, that is, to program the behavior of the players, the speed and direction of their movement, the tactics of scoring goals and defense. Already at this stage, the 120 Minutes Adventure team, consisting of Mikhail Putilin and Alexandra Logunova showed the best results.

«The most interesting and rich in impressions was the closing of the CodeGame Challenge. As part of this game, the teams had to write a strategy for playing football in three hours, which then competed with each other. Each team had its own unique approach: for example, some put two goalkeepers, some left the net empty. It was impossible to break away from the matches. The final matches were especially tense. The strategy of our main rival confidently beat our strategy in the group stage. And, if in our final match his player during one dangerous moment did not hit the post, he would send our team to second place. But still, our strategy won by a minimal margin.”, – Alexander Logunov described the game.

Source: vk.com/blog/vk-cup-2018

Source: vk.com/blog/vk-cup-2018

The final round took place on 12 August. During the final test, teams had to solve seven problems of varying complexity in three hours, while solutions can be written in 15 programming languages, although C ++ became the most popular.Problems for the VK Cup are compiled jointly with the Codeforces team of programmers, examples of the problems of the qualifying round-2018 can be viewed here.

«The essential difference between the VK Cup and the ICPC is that here, during the round, solutions are checked only on part of the tests, and you cannot be sure that the solution is correct if it passes them. In competitions like the main VK Cup, problems usually have some correct solution, and possibly more than one, and before writing code, you can think and understand whether it will work. At the CodeGame Challenge, there was no right decision. You can try different approaches and it's hard to tell if an idea will work before it's been written and tested.”, Mikhail Putilin explained.

The 120 Minutes Adventure team became the absolute champion of the competition, earning a prize of 1,048,576 rubles. In binary, this is a round number 100000000000000000000. In second place was the champion of last year's tournament. Aidar Sayranov from St. Petersburg State University, which performed solo this year, and on the third – a team from Moscow State University. M. V. Lomonosov as part of Vladislav Makeev and Mikhail Ipatov. The silver medalist received 524,288 rubles, and the bronze medalists received 262,144 rubles. The rest of the teams, which entered the top eight, took 131,072 rubles with them. In seventh place was a team of undergraduate students from ITMO University – Alexandra Drozdova and Arsenia Kirillova. The full table of results can be found here.

Source: vk.com/blog/vk-cup-2018

Source: vk.com/blog/vk-cup-2018

«To participate in the competition, you need to have a good command of any programming language, in sports programming the most popular is C ++. Knowledge of complex algorithms was not required at the VK Cup, it was only necessary to think quickly in order to come up with solutions to problems. For us, teamwork was not difficult. We wrote solutions to different problems, so we didn’t have to interact with each other’s code. Some problems may arise when solving problems, for example, you need to distribute tasks so as not to work on the same thing. Sports programming develops the skills of a mathematical model of a problem, writing code without bugs and quickly finding errors. However, working in companies is very different from competition.”, Mikhail Putilin commented.

It should be noted that ITMO University students also became champions of the VK Cup in 2016. Then the first place was taken by the team Gennady Korotkevich and Adam Bardashevich. They are ACM ICPC Champions. Mikhail Putilin also participated in the World Programming Championship this year as part of the ITMO University team, and also became the winner of the Google Hash Code-2018 competition. Thus, the best programmers of Russia and the CIS countries traditionally gather at the VK Cup, and the tournament organizers themselves emphasize that one of its most important missions is to support the young generation of developers and develop interest in programming.

«Olympiads greatly improve the skill of solving algorithmic problems. I note that in IT companies such tasks in their pure form are rare. But on the other hand, this skill helps to determine what is the real complexity of real industrial programming problems, and what exactly things in existing solutions need to be optimized. It is also a good experience to work in a stressful situation and under time constraints. For example, in IT, you often have to find and fix bugs in the shortest possible time. Also, the ability to quickly and correctly implement a new element of the strategy is a very important skill. Another useful skill is to observe the strategies of other players during matches, understand what they do not take into account, and add these things to your strategy.”, commented Alexander Logunov.