The ACM International Collegiate Programming Contest World Finals in Saint Petersburg

acm_logoThe International Collegiate Programming Contest (ICPC) finals, which took place on July 3, 2013 in Saint Petersburg, resulted in the ultimate win of the team from St. Petersburg National Research University of Information Technologies, Mechanics and Optics (ITMO).

The gold medals were awarded to teams from Japan, China, and Taiwan. The silver medal this year went to the old rival of St. Petersburg ITMO—St. Petersburg State University. Moscow State University’s team won bronze. The participants from Perm State University surprised everyone by placing thirteenth and winning a bronze medal. This was quite a sensation, as before 2013, the highest this university had ever placed was twenty-seventh.

We wholeheartedly congratulate the champions and hope that next year in Ekaterinburg, the winning team will again be from Russia!

A Bit of History

The contest in its present form has been held since 1977, but before 1989, the participants represented mostly the US and Canadian universities. Since 1989, Baylor University has been the main organizer and supervisor of all the contest’s stages under the auspices of the Association for Computing Machinery (ACM), and since 1997, IBM has been the general sponsor of the event.

Currently, the ICPC is indeed an international event: In 2013, ICPC participation included 2,322 universities and almost 29,500 students from 91 countries!

Russia in the Contest

medalsThere is no verifiable information about when Russian teams first participated in the contest. But as far back as 1996, we can see the Moscow State University team in the finals where it took seventeenth place with four solved problems. In 1997, St. Petersburg State University entered the race, solved five problems, and came sixth. In the same year, the ITMO team also made its first appearance, but their start was less successful—eleventh place with five solved problems.

Since that time, Russian teams have not missed a chance to get into the finals and win if not gold then at least silver or bronze. The most prestigious Russian universities—Moscow State University, St. Petersburg State University, St. Petersburg ITMO—go up against each other. And since 2002, every so often, the team from Saratov State University has reached the finals, and in 2006, their team won the championship!

A look at the results of the last 13 years reveals the main candidates for the gold. It is either Russia or China, with a notable preponderance in favor of Russia (eight wins against China’s four). This confirms the high level of the education in application programming in Russia.

Of course, at the moment, the staff shortage in the IT industry is noticeable. The blame rests with the insufficient number of graduates and the infamous “brain drain.” However, both problems are being solved if not at the state level then by means of private funds. For example, back in 2007, our customer Yandex established its own School of Data Analysis, which serves to make up for a shortage of staff, primarily for Yandex, of course. The school exists in close cooperation with not only Yandex but also the leading technical university in Russia, Moscow Institute of Physics and Technology.

Interesting Facts

  • Since 2000, Russian teams have won the contest eight times. This is an absolute record if we start the count from 1989, when the contest became international. During the same period, the US teams won five times, and teams from China climbed to the top four times.
  • The St. Petersburg ITMO team won the contest five times. This is an absolute record over the entire history of the contest.
  • The team from Saint Petersburg State University won the contest two years in a row, in 2000 and 2001. It was the first registered ACM record of its kind at that time.
  • The St. Petersburg ITMO team matched this twice, winning in 2008 and 2009 and again in 2012 and 2013 (we hope they will break a new record by becoming winners next year).
  • The next ICPC World Finals will also take place in Russia, this time in Ekaterinburg. Russia is the only country besides the USA that welcomes the finalists two years in a row.
  • Among ICPC participants are the best Russian programmers. For example, Petr Mitrichev, who received two ICPC gold medals (as a member of the team from Moscow State University in 2003 and 2005), won Google Code Jam in 2006 and the Facebook Hacker Cup in 2011 and 2013. He is also the fifth highest-rated coder, according to the rating of Codeforces. Petr was the first Russian programmer to win both the TopCoder Open and Google Code Jam.
  • This year, our customer Yandex sponsored the broadcasting of the finals in real time.
  • In 2012, Yandex assisted the Moscow Institute of Physics and Technology in preparations for the contest where the team took third place and won gold, having solved eight problems. Only two teams—the world champion St. Petersburg ITMO and the University of Warsaw (2003 and 2007 winner)—were ahead of them.
  • During the competition’s broadcasting, the problems were solved in real time by Yandex analysts, including Egor Kulikov, the second Russian after Petr Mitrichev to win both the TopCoder Open and Google Code Jam and a two-time champion of the ACM ICPC. During this year’s contest, he also broadcasted the event on his blog.
  • This year, for the first time, ACM in collaboration with the Kattis judge system provided everyone with an opportunity to get a feel for what it means to be an ICPC finalist. Following the link, upon signing up, every programmer could see the problem, send in his/her solution, see the result, and compare it with others.