Позвольте поздравить вас с победой в полуфинале ICPC и выходом в финал. Не могли бы вы рассказать нашим читателям о том, как для вас складывался этот турнир?
Николай Будин: Турниры ICPC проходят в несколько этапов. На четвертьфинале выступали команды из Петербурга и близлежащих регионов. Там мы заняли второе место, нас обогнала команда СПбГУ. Далее из-за пандемии провели не сразу очный полуфинал, а сначала онлайн-этап, где мы также заняли второе место, уступив команде из питерской «Вышки». По итогам этого этапа из примерно 300 команд отобрали 48 лучших, которые и встретились в очном полуфинале в Петербурге в парке «Россия — моя история». Здесь мы заняли первое место.
Насколько для вас это был неожиданный результат?
Станислав Наумов: Очень неожиданный (смеется). На самом деле мы ожидали хорошего результата.
А как складывался сам полуфинал?
Николай Будин: Мне показалось, что все шло довольно тяжело. Всего на полуфинале нам дается 11 задач, которые нужно решить за пять часов. Первые задачи сравнительно простые — их надо было решить с первой попытки. А у нас это не получилось, мы допускали ошибки, потом искали их, исправляли. А каждая неправильная попытка — это штраф 20 минут к итоговому времени. Это важно, ведь команды сначала ранжируются по количеству решенных задач, а потом по времени. То есть, если две команды решили восемь заданий, то победит та, у которой это заняло меньше времени, включая штрафное.
В какой момент произошел перелом?
Николай Будин: Мы сдали очень сложную задачу примерно на 120 минуте с первой попытки. Остальные команды смогли ее сдать только в самом конце, в результате штраф у нас оказался меньше. Хотя команда московской «Вышки», которая заняла второе место, отстала от нас всего на 40 минут, грубо говоря, на две штрафные попытки. А так у нас, как и у всех лидеров, было решено по семь заданий.
Роман Коробков: Нам помогло еще и то, что мы не смотрели в таблицу во время турнира. Если бы мы увидели, что к нам подбирается вторая команда из ИТМО, то это могло бы отвлечь наше внимание, ведь от одного вуза может пройти только одна команда. Даже если команды ИТМО занимают первое и второе место, то в финал проходит только одна.
Вы и ваши товарищи, взявшие третье место, стали первыми командами, которые тренирует один из самых успешных спортивных программистов, аспирант ИТМО Геннадий Короткевич. А в чем именно состоит функция тренера?
Николай Будин: По-разному, все зависит от университета. Тренер может находить задания, может проводить разборы, может просто находиться рядом, чтобы ему могли задать вопрос. У нас ближе к последнему варианту. Мы сами можем найти задания для тренировок, но время от времени обращаемся к нему с вопросом, если такой возникает. Он больше времени проводит с более слабыми командами.
Как вы отметили, в полуфинале ICPC главные ваши соперники — товарищи по ИТМО, ведь дальше пройдет только одна команда, даже если вы займете два первых места. Как это влияет на отношение между командами?
Станислав Наумов: На самом деле в этом году мы не ждали, что вторая команда ИТМО так успешно выступит, но они молодцы — хорошо написали. Оказались серьезными соперниками.
Николай Будин: Вообще я с первого курса участвую в олимпиадах и каждый год у нас 3-4 команды претендуют на высокие места, но конфликтов никаких не было никогда. Наоборот, ребята из других команд — это люди, с которыми ты больше всего проводишь времени. Да и соперничество есть только в полуфинале, до этого мы соревнуемся также со всеми остальными вузами.
Когда будет финал?
Николай будин: к сожалению, пока не понятно, когда он будет. Еще не прошел финал прошлого года, он должен быть в июне 2020 года, но его перенесли. Наверное, финал этого года будет после. Я тренируюсь к этим двум финалам в составе двух разных команд.
Как будете готовится?
Станислав Наумов: Подготовка простая — решать задания. Перед финалом обычно еще организуют сборы в деревне недалеко от Петрозаводска. Доехать туда можно только на УАЗике, из развлечений только баня. То есть в лесу стоит пара домиков, здание столовой и ноутбуки, на которых надо решать задачи. И так неделю-две.
Роман Коробков: Перед прошлым финалом, в котором я участвовал, мы два месяца ездили по разным сборам: в Китае, в Москве, в Петрозаводске. Главное — действительно решать как можно больше заданий.
Кстати, о заданиях, а как они вообще выглядят в олимпиадном программировании?
Николай Будин: В каждой задаче есть какое-то условие, говорится, что за данные вам даются на входе. Например, массив из некоторого количества целых чисел. Далее в условии вам сказано, что нужно сделать. Самый простой пример — отсортировать и вывести на экран. Это, конечно, элементарная задача, она делается в одну строчку кода. В реальности все немного сложнее. Делать какой-то интерфейс, работать с API не надо. Так что это, в каком-то смысле, ближе к математике, чем к промышленной разработке.
В турнирах ICPC участвуют команды. В любом командном спорте существуют какое-то разделение ролей. Так ли это в спортивном программировании?
Николай Будин: Да, в команде обычно есть роли. У кого-то лучше получается писать код, у кого-то наоборот — лучше получается решать с математической точки зрения, так называемые математики. Еще понятно, что кто-то разные задачи лучше решает.
А как в вашей команде?
Станислав Наумов: У нас все Коля пишет (смеется). Рома пишет меньше, я вообще не притрагиваюсь к компьютеру. Но задачи решаем мы вместе, обсуждаем, говорим Коле решение, и он пишет код.
Роман Коробков: Как нам даже потом сказали зрители, которые смотрели трансляцию, было похоже, что Коля как работник пишет, а мы пока вдвоем ходим как топ-менеджеры и что-то обсуждаем.
Почему и как вы пришли в спортивное программирование?
Роман Коробков: Я пришел после пятого класса. Поехал от школы в летний лагерь по информатике, там я начал решать суперпростые задачи: найти максимум из трех чисел. У меня загорелись глаза, начало все получаться, и где-то после седьмого класса я уже поехал в летнюю компьютерную школу в Костроме. А уже с восьмого класса я участвовал во всероссийских олимпиадах.
Станислав Наумов: Я начал заниматься с девятого класса. Изначально мне хотелось игры делать, но потом я нашел олимпиадные задачи, стало интересно придумывать какие-то математические абстракции. В тот же год мне удалось уже поехать на всероссийскую олимпиаду.
Николай Будин: В шестом классе у нас начиналась информатика и летом папа мне предложил что-то написать на паскале. Мы сели, написали, я помню первую программу — вывести на экран все простые числа до тысячи. Мне понравилось, я начал участвовать в школьных олимпиадах, съездил в Кострому в летний лагерь, меня затянуло. Так я класса с седьмого участвую в олимпиадах.
А как вы отдыхаете от программирования, как настраиваетесь на контесты?
Станислав Наумов: Бассейн и качалка. Идеально чтобы настроится на контест. Летом катаюсь на лонг-борде очень активно, пилю стартап о финансах «TopFlow». Путешествую. Иногда наукой занимаюсь, статьи публикую.
Роман Коробков: Мне нравится музыка, у меня есть красный диплом по специальности «баян». Инструмент остался у меня дома, но я третий год думаю привезти: иногда хочется поиграть, а приходится играть на гитаре. А так, тоже хожу в бассейн и в качалку.
Николай Будин: Не-не, я таким не занимаюсь (смеется). В зал я не хожу, больше люблю природу, рыбалку, по грибы. Фильмы, понятно, смотрю. Тоже люблю музыку, играю на гитаре и еще вот купил проигрыватель для виниловых пластинок.
А насколько то, что вы делаете на турнирах, связано с тем, что делают в IT-компаниях?
Станислав Наумов: Могу сказать по своему опыту, что в науке это реально помогает. Если делать сайты, то, конечно, не нужно. Но есть области, где это очень пригождается. К примеру, в финансах как раз. Поэтому мы сейчас с Ромой и делаем финансовый стартап.
В ICPC есть ограничения по возрасту и количеству раз, которые можно участвовать в финалах и полуфиналах. Финал этого года станет для вас последней возможностью завоевать мировой титул. Это будет на вас давить?
Станислав Наумов: Думаю, что нет, мы ничего не можем с этим сделать. Дополнительное напряжение это вряд ли вызовет, просто таковы условия игры.
Николай Будин: Да, было бы обидно, если бы мы не прошли в финал, а так уже нет.
А что делают участники ICPC, когда завершают выступления в этом турнире?
Николай Будин: Я знаю много людей, кто уже закончил с ICPC — и все по-разному. Кто-то идет работать, кто-то — в науку. Кто-то, наоборот, начинает организовывать олимпиады сам, кто-то продолжает участвовать в олимпиадах без ограничений по возрасту. Я бы сказал, что почти все, кто участвует в финале, так или иначе продолжают с этим быть связаны. Потому что, если ты дошел до финала, значит тебе нравится решать контесты.
Станислав Наумов: Я, наверное, не буду писать контесты после этого финала. Может, иногда смотреть задачи, но мне будет интереснее работать и заниматься наукой.
Роман Коробков: После того как я съездил в прошлый раз на финал, я заболел пневмонией. У нас была куча перелетов, у меня просел иммунитет, я лежал две недели в больнице. Когда вышел подумал: «Все, больше никаких задач!» Где-то на год меня хватило, но потом это все вернулось.