
На Codenrock прошел Новогодний марафон по спортивному программированию. Три недели участники решали алгоритмические задачи и выигрывали подарки в конце каждого тура. По результатам всех этапов были определены трое лучших конкурсантов, которые получили главный приз.
Подробнее о том, как прошел турнир – в этом кейсе.
Попробовать свои силы и решить задачи всех туров соревнования можно прямо сейчас – турнир доступен в режиме песочницы.
Результаты марафона
Соревнование стартовало 3 января и длилось до 24 января. Участники могли регистрироваться в любой момент и приступить к решению задач – шанс на победу сохранялся до самого конца. Итоговые цифры:
- 216 регистраций.
- 130 конкурсантов выполнили задания.
- 6 участников решили все 18 задач.
- 30 призов было разыграно.
- 3 победителя разделили 95 000 рублей.
- 200 000 рублей – общий призовой фонд.

Главный приз получили:
🥇 1 место – Захар Яковлев
🥈 2 место – Станислав Винокур
🥉 3 место – Евгений Винокур
В соревновании приняли участие IT-специалисты разных уровней: от начинающих до опытных уровня Senior и выше. Среди участников присутствовали как конкурсанты младше 18 лет, так и люди старше 36 лет.

Подготовка мероприятия
Codenrock поддерживает проведение соревнований по спортивному программированию любого формата: от фановых турниров до олимпиад, соответствующих критериям международных стандартов. Как проходит мероприятие на платформе:
- Эксперт составляет задачи определенного уровня сложности, разрабатывает правила проверки и настраивает автоматическое тестирование решений.
- Маркетинговая команда готовит рекламные материалы для мероприятия и привлекает аудиторию, которая интересуется спортивным программированием.
- Во время старта турнира все участники получают одновременно доступ к задачам и могут выполнять их на языках Python, Java, Golang, C#, JavaScipt, а также использовать SQL-запросы, если необходимо работать с базами PostgreSQL и MySQL.
- Проверка решений, расчет затраченного времени и формирование финального лидерборда происходят автоматически на платформе.
Для праздничной атмосферы дизайнер Codenrock разработал четырех персонажей, отсылающих к традиционной новогодней атрибутике. В каждом туре анонсировал открытие этапа и подведение итогов новый герой, знакомый всем с детства.




Задачи марафона
Концепция марафона – наградить самых способных и активных участников платформы Codenrock. Стандартный формат соревнований по спортивному программированию предполагает победу только конкурсантов, которые лучше всего справились с задачами, поэтому в этом турнире механика была изменена:
- Все мероприятие разделено на три тура длительностью в 7 дней. В каждом было представлено 6 уникальных алгоритмических задач.
- В конце недели подводились промежуточные итоги. 5 участников, которые решили все задания с наилучшим результатом, получили в награду подарочные сертификаты на маркетплейс. Еще 5 победителей выбирались случайным образом среди конкурсантов, которые справились с 4 задачами из 6.
- Все задания прошлых туров оставались доступны для решения до конца марафона. Их выполнение не влияло на результаты следующего этапа, но давало шанс получить главный приз: три участника, которые прислали решения всех задач быстрее всего, получили денежные призы соревнования.

Результаты турнира автоматически рассчитывались на Codenrock. Сперва сервер платформы проверял, правильно ли решена задача и соответствует ли отправленный код требованиям. На лидерборде соревнования отображалась статистика по количеству заданий, выполненных участниками. При равном результате учитывалось потраченное время с момента открытия первой задачи до отправки решения последней.

Отзывы участников
Супер, большое спасибо за организацию и за задачки. Они были хорошей сложности, чтобы не убивать на них несколько дней, но в то же время достаточно интересными, чтобы размять мозги.
Никита Подгузов, участник марафона
Спасибо! Понравилось, что мероприятие было продолжительным, была возможность побороться за призы даже если приступил не в первый день тура или решил не спешить с решением всех задач сразу. Было бы интересно в подобном формате порешать задачи, где нет верхней границы по баллам, чтобы можно было до бесконечности улучшать решение, как в соревнованиях по ML. Ну и мероприятий по ML очень жду.
Евгений Иванкин, участник марафона