Геннадий Короткевич из Университета ИТМО в шестой раз подряд стал лучшим программистом мира по итогам Google Code Jam
Аспирант Университета ИТМО Геннадий Короткевич вновь не уступил никому титул чемпиона международного турнира по программированию Google Code Jam, проходившего в Сан-Франциско 9 августа. Это его шестая победа подряд на одном из крупнейших компьютерных соревнований. Таких успехов не добивался ни один программист планеты: другим участникам удавалось победить максимум дважды.
Google Code Jam проводится компанией Google с 2003 года и считается одним из самых престижных и массовых чемпионатов мира по программированию: ежегодно он собирает свыше 50 тысяч участников – это больше, чем летние Олимпийские игры. В финал выходят всего 25. В этот раз в списке лучших оказались три воспитанника Университета ИТМО.
Победу в турнире в шестой раз подряд, снова побив собственный рекорд, одержал Геннадий Короткевич. 24-летний аспирант ИТМО – двукратный победитель международного чемпионата мира по программированию ICPC (2013 и 2015 годов), пятикратный чемпион "Яндекс.Алгоритма", победитель и призер других международных соревнований "Большого программистского шлема".
По итогам Google Code Jam Короткевич набрал 143 балла, опередив Макото Соэджима (rng..58) из Японии и Эндрю Хе (ecnerwale) из США – оба набрали по 121 баллу, но японец показал лучшее время. Выпускник Университета ИТМО, чемпион ICPC 2015 года Борис Минаев набрал 56 баллов, еще один выпускник альма-матер чемпионов Евгений Капун – 54 балла (12-е и 13-е места соответственно).
В Google Code Jam может принять участие любой желающий. Отбор в финал проводится онлайн в несколько этапов. Сначала – квалификационный раунд, который длится около суток; для его успешного прохождения необходимо набрать определенное число баллов. Далее проводится серия из трех раундов, каждый из которых проходит в разные дни и длится 2,5 часа. 25 лучших программистов мира по итогам отбора приглашаются на очный тур, который каждый год проходит в разных городах и странах: в прошлом году это был Торонто (Канада), на этот раз – Сан-Франциско (США).
Участникам дается набор алгоритмических задач, которые нужно решить за фиксированное время. Решение – программу – можно написать на одном из языков: Bash, C, C++, C# (mono), Go, Haskell (ghc), Java 8, Javascript (nodejs), Python 2, Python 3, PHP или Ruby.
В этом году финалисты должны были решить шесть задач, каждая из которых имеет два условия решения. Первое – более легкое для участника, так как для решения задачи подходит менее эффективный алгоритм, а перед программистом стоит меньше ограничений. За это решение дается 5 баллов. Как только участник отправил решение, ему сразу же приходит ответ, верное ли оно. Если ответ не приходит, программист может перепроверить решение и отправить ответ снова. Вторая часть каждой задачи требует более сложных алгоритмов. Кроме того, правильность их решения участник узнает только на церемонии награждения победителей. За решение более сложной части дается 22-30 баллов. Также в соревнованиях учитывается общее время решения задач.
Геннадий Короткевич полностью решил четыре задачи из шести, а также первую, более легкую часть еще одной задачи. За победу он получил денежный приз – 15 000 долларов.