Topcoder Open (TCO) — это ежегодный турнир по программированию, который проводится корпорацией TopCoder, чтобы поощрить сообщество разработчиков. Компания проводит индивидуальные соревнования по спортивному программированию, которые основаны на системе рейтингов. Помимо онлайн-соревнований, в течение турнира организуются и региональные этапы, цель которых — расширить сообщество TopCoder.

Topсoder Open проводится c 2001 года и традиционно включает в себя шесть видов соревнований: Algorithm, Development, First2Finish, UI Design, UI Prototype и Marathon. После завершения онлайн-этапов по каждому из треков определяются победители, набравшие наибольшее количество очков. Именно они получают возможность отправиться на очный финал. В этом году финал проводился с 13 по 16 ноября в Хьюстоне (штат Техас, США).

Аспирант Университета ИТМО, обладатель всевозможных наград топовых соревнований для программистов Геннадий Короткевич (tourist) выступил сразу в двух треках и преуспел в обоих! И Algorithm, и Marathon сдались одному из лучших спортивных программистов мира. 

Победители Topecoder Open-2019. Источник: социальные сети
Победители Topecoder Open-2019. Источник: социальные сети

Topcoder Open Marathon стартует задолго до финала и включает в себя четыре онлайн-раунда. Особенность этого трека в том, что здесь участники решают оптимизационные задачи. В каждом раунде дается лишь одна задача, правильное решение которой неизвестно даже ее автору. Задача участника — написать программу, находящую наиболее эффективный ответ за заданное время. Имя участника и набранные им в последнем полном тесте баллы заносятся в таблицу результатов, доступную всем программистам. После завершения приема решений, программы посылаются на полный тест (при этом от каждого участника берется его последняя программа). Участники получают места в зависимости от набранного ими количества баллов. В результате отбираются 12 лучших участников, которые участвуют в очном этапе в США. Финал турнира продолжался на протяжении десяти часов. Чтобы стать победителем соревнований, необходимо также набрать за это время наибольшее количество очков. 

Topcoder Open Algorithm — одно из шести направлений личного чемпионата TopCoder Open, посвященное «классическому» спортивному программированию. Участники этого трека должны решить предложенные задачи, используя языки программирования Java, C#, C++ или Python, причем на решение им отводится всего полтора часа. Подробнее о правилах TopCoder Open вы можете прочитать здесь.