Позвольте поздравить вас с победой в полуфинале ICPC и выходом в финал. Не могли бы вы рассказать нашим читателям о том, как для вас складывался этот турнир?

Николай Будин: Турниры ICPC проходят в несколько этапов. На четвертьфинале выступали команды из Петербурга и близлежащих регионов. Там мы заняли второе место, нас обогнала команда СПбГУ. Далее из-за пандемии провели не сразу очный полуфинал, а сначала онлайн-этап, где мы также заняли второе место, уступив команде из питерской «Вышки». По итогам этого этапа из примерно 300 команд отобрали 48 лучших, которые и встретились в очном полуфинале в Петербурге в парке «Россия — моя история». Здесь мы заняли первое место.

Насколько для вас это был неожиданный результат? 

Станислав Наумов: Очень неожиданный (смеется). На самом деле мы ожидали хорошего результата.

А как складывался сам полуфинал?

Николай Будин: Мне показалось, что все шло довольно тяжело. Всего на полуфинале нам дается 11 задач, которые нужно решить за пять часов. Первые задачи сравнительно простые — их надо было решить с первой попытки. А у нас это не получилось, мы допускали ошибки, потом искали их, исправляли. А каждая неправильная попытка — это штраф 20 минут к итоговому времени. Это важно, ведь команды сначала ранжируются по количеству решенных задач, а потом по времени. То есть, если две команды решили восемь заданий, то победит та, у которой это заняло меньше времени, включая штрафное. 

Николай Будин. Автор фото – Евгений Федер. Источник: vk.com/nercnews
Николай Будин. Автор фото – Евгений Федер. Источник: vk.com/nercnews

В какой момент произошел перелом?

Николай Будин: Мы сдали очень сложную задачу примерно на 120 минуте с первой попытки. Остальные команды смогли ее сдать только в самом конце, в результате штраф у нас оказался меньше. Хотя команда московской «Вышки», которая заняла второе место, отстала от нас всего на 40 минут, грубо говоря, на две штрафные попытки. А так у нас, как и у всех лидеров, было решено по семь заданий.         

Роман Коробков: Нам помогло еще и то, что мы не смотрели в таблицу во время турнира. Если бы мы увидели, что к нам подбирается вторая команда из ИТМО, то это могло бы отвлечь наше внимание, ведь от одного вуза может пройти только одна команда. Даже если команды ИТМО занимают первое и второе место, то в финал проходит только одна.

Вы и ваши товарищи, взявшие третье место, стали первыми командами, которые тренирует один из самых успешных спортивных программистов, аспирант ИТМО Геннадий Короткевич. А в чем именно состоит функция тренера?

Николай Будин: По-разному, все зависит от университета. Тренер может находить задания, может проводить разборы, может просто находиться рядом, чтобы ему могли задать вопрос. У нас ближе к последнему варианту. Мы сами можем найти задания для тренировок, но время от времени обращаемся к нему с вопросом, если такой возникает. Он больше времени проводит с более слабыми командами.  

Как вы отметили, в полуфинале ICPC главные ваши соперники — товарищи по ИТМО, ведь дальше пройдет только одна команда, даже если вы займете два первых места. Как это влияет на отношение между командами?

Станислав Наумов: На самом деле в этом году мы не ждали, что вторая команда ИТМО так успешно выступит, но они молодцы — хорошо написали. Оказались серьезными соперниками.

Станислав Наумов. Автор фото – Ирина Сушилова. Источник: vk.com/nercnews
Станислав Наумов. Автор фото – Ирина Сушилова. Источник: vk.com/nercnews

Николай Будин: Вообще я с первого курса участвую в олимпиадах и каждый год у нас 3-4 команды претендуют на высокие места, но конфликтов никаких не было никогда. Наоборот, ребята из других команд — это люди, с которыми ты больше всего проводишь времени. Да и соперничество есть только в полуфинале, до этого мы соревнуемся также со всеми остальными вузами. 

Когда будет финал?

Николай будин: к сожалению, пока не понятно, когда он будет. Еще не прошел финал прошлого года, он должен быть в июне 2020 года, но его перенесли. Наверное, финал этого года будет после. Я тренируюсь к этим двум финалам в составе двух разных команд.

Как будете готовится?

Станислав Наумов: Подготовка простая — решать задания. Перед финалом обычно еще организуют сборы в деревне недалеко от Петрозаводска. Доехать туда можно только на УАЗике, из развлечений только баня. То есть в лесу стоит пара домиков, здание столовой и ноутбуки, на которых надо решать задачи. И так неделю-две.

Роман Коробков: Перед прошлым финалом, в котором я участвовал, мы два месяца ездили по разным сборам: в Китае, в Москве, в Петрозаводске. Главное — действительно решать как можно больше заданий. 

Кстати, о заданиях, а как они вообще выглядят в олимпиадном программировании?

Николай Будин: В каждой задаче есть какое-то условие, говорится, что за данные вам даются на входе. Например, массив из некоторого количества целых чисел. Далее в условии вам сказано, что нужно сделать. Самый простой пример отсортировать и вывести на экран. Это, конечно, элементарная задача, она делается в одну строчку кода. В реальности все немного сложнее. Делать какой-то интерфейс, работать с API не надо. Так что это, в каком-то смысле, ближе к математике, чем к промышленной разработке.

В турнирах ICPC участвуют команды. В любом командном спорте существуют какое-то разделение ролей. Так ли это в спортивном программировании?  

Николай Будин: Да, в команде обычно есть роли. У кого-то лучше получается писать код, у кого-то наоборот лучше получается решать с математической точки зрения, так называемые математики. Еще понятно, что кто-то разные задачи лучше решает. 

Команда «SPb ITMO: Insert your name» в полуфинале ICPC. Автор фото – Евгений Федер. Источник: vk.com/nercnews
Команда «SPb ITMO: Insert your name» в полуфинале ICPC. Автор фото – Евгений Федер. Источник: vk.com/nercnews

А как в вашей команде?

Станислав Наумов: У нас все Коля пишет (смеется). Рома пишет меньше, я вообще не притрагиваюсь к компьютеру. Но задачи решаем мы вместе, обсуждаем, говорим Коле решение, и он пишет код.

Роман Коробков: Как нам даже потом сказали зрители, которые смотрели трансляцию, было похоже, что Коля как работник пишет, а мы пока вдвоем ходим как топ-менеджеры и что-то обсуждаем.

Почему и как вы пришли в спортивное программирование?

Роман Коробков: Я пришел после пятого класса. Поехал от школы в летний лагерь по информатике, там я начал решать суперпростые задачи: найти максимум из трех чисел. У меня загорелись глаза, начало все получаться, и где-то после седьмого класса я уже поехал в летнюю компьютерную школу в Костроме. А уже с восьмого класса я участвовал во всероссийских олимпиадах.

Станислав Наумов: Я начал заниматься с девятого класса. Изначально мне хотелось игры делать, но потом я нашел олимпиадные задачи, стало интересно придумывать какие-то математические абстракции. В тот же год мне удалось уже поехать на всероссийскую олимпиаду. 

Николай Будин: В шестом классе у нас начиналась информатика и летом папа мне предложил что-то написать на паскале. Мы сели, написали, я помню первую программу вывести на экран все простые числа до тысячи. Мне понравилось, я начал участвовать в школьных олимпиадах, съездил в Кострому в летний лагерь, меня затянуло. Так я класса с седьмого участвую в олимпиадах.

Команда «SPb ITMO: Insert your name», победители полуфинала ICPC. Автор фото – Александр Блашенков. Источник: vk.com/nercnews
Команда «SPb ITMO: Insert your name», победители полуфинала ICPC. Автор фото – Александр Блашенков. Источник: vk.com/nercnews

А как вы отдыхаете от программирования, как настраиваетесь на контесты?

Станислав Наумов: Бассейн и качалка. Идеально чтобы настроится на контест. Летом катаюсь на лонг-борде очень активно, пилю стартап о финансах «TopFlow». Путешествую. Иногда наукой занимаюсь, статьи публикую.

Роман Коробков: Мне нравится музыка, у меня есть красный диплом по специальности «баян». Инструмент остался у меня дома, но я третий год думаю привезти: иногда хочется поиграть, а приходится играть на гитаре. А так, тоже хожу в бассейн и в качалку.   

Николай Будин: Не-не, я таким не занимаюсь (смеется). В зал я не хожу, больше люблю природу, рыбалку, по грибы. Фильмы, понятно, смотрю. Тоже люблю музыку, играю на гитаре и еще вот купил проигрыватель для виниловых пластинок.

А насколько то, что вы делаете на турнирах, связано с тем, что делают в IT-компаниях?

Станислав Наумов: Могу сказать по своему опыту, что в науке это реально помогает. Если делать сайты, то, конечно, не нужно. Но есть области, где это очень пригождается. К примеру, в финансах как раз. Поэтому мы сейчас с Ромой и делаем финансовый стартап.

Полуфинал ICPC. Автор фото – Александр Блашенков. Источник: vk.com/nercnews
Полуфинал ICPC. Автор фото – Александр Блашенков. Источник: vk.com/nercnews

В ICPC есть ограничения по возрасту и количеству раз, которые можно участвовать в финалах и полуфиналах. Финал этого года станет для вас последней возможностью завоевать мировой титул. Это будет на вас давить? 

Станислав Наумов: Думаю, что нет, мы ничего не можем с этим сделать. Дополнительное напряжение это вряд ли вызовет, просто таковы условия игры.

Николай Будин: Да, было бы обидно, если бы мы не прошли в финал, а так уже нет.

А что делают участники ICPC, когда завершают выступления в этом турнире?

Николай Будин: Я знаю много людей, кто уже закончил с ICPC — и все по-разному. Кто-то идет работать, кто-то — в науку. Кто-то, наоборот, начинает организовывать олимпиады сам, кто-то продолжает участвовать в олимпиадах без ограничений по возрасту. Я бы сказал, что почти все, кто участвует в финале, так или иначе продолжают с этим быть связаны. Потому что, если ты дошел до финала, значит тебе нравится решать контесты.

Станислав Наумов: Я, наверное, не буду писать контесты после этого финала. Может, иногда смотреть задачи, но мне будет интереснее работать и заниматься наукой.  

Роман Коробков: После того как я съездил в прошлый раз на финал, я заболел пневмонией. У нас была куча перелетов, у меня просел иммунитет, я лежал две недели в больнице. Когда вышел подумал: «Все, больше никаких задач!» Где-то на год меня хватило, но потом это все вернулось.