Олимпиады по программированию. Куда податься, если ты молод, умен и хочешь выиграть несколько тысяч долларов

Олимпиады бывают школьными и скучными, а бывают всемирными и уважаемыми. Участие в них как минимум интересно, познавательно и способствует заведению полезных знакомств в профессиональных кругах, как максимум — приводит к пополнению твоего кошелька на несколько тысяч долларов, а резюме — строчкой работы на хорошей должности в международной корпорации. О том, что они собой представляют, где проводятся и сколько можно заработать в случае победы, — в этой статье.

Семь лет назад «Хакер» уже рассказывал о чемпионатах по программированию. С тех пор много что поменялось — попробуем разобраться.

ACM/ICPC

Традиционно начинаем обзор с самой известной и самой древней студенческой олимпиады по программированию. Корни этого мероприятия уходят в семидесятые годы прошлого века. Современный облик оно приобрело в 1977 году, с тех пор проводится ежегодно. Раньше принять участие могли только студенты из США и Канады, но со временем олимпиада стала всемирной, и, что самое интересное, последние семь лет (с 2012 года) ее победителями становятся студенты из России. Всего с 2000 года чемпионский кубок ACM/ICPC побывал в России тринадцать раз. Кстати, с конца девяностых ни разу студенты из США не побеждали в олимпиаде. Основать основали, а вот программировать так и не научились. 🙂

Финал ACM/ICPC 2018, Пекин, Китай

ACM/ICPC — соревнование командное. Команда состоит из трех человек, участвовать могут студенты вузов и аспиранты первого года обучения — главное, чтобы возраст не превышал 25 лет. Не допускаются студенты, пятикратно принимавшие участие в олимпиаде или же дважды попадавшие в финальную стадию. Правила олимпиады неизменны: за пять часов программисты должны решить от восьми до двенадцати алгоритмических задач (условия написаны, естественно, на английском). Из года в год меняется только список допустимых языков программирования. В 2018 году в нем были C, C++, Java, Kotlin и Python. Ранее был доступен и Pascal, но теперь он закономерно ушел в прошлое.

Результаты отправляются на тестирующий сервер, где проверяются. Если еще есть время, а задача решена неправильно или не соблюдены ограничения по времени выполнения и используемой памяти, то об этом сообщается команде, и она может провести работу над ошибками. Побеждает команда, справившаяся с наибольшим числом задач. Если несколько команд решили одинаковое число задач, то побеждает та, которая сделала это быстрее.

В этом году впервые чемпионский кубок уехал в Москву — победителем стала команда из МГУ. В составе команды — Михаил Ипатов, Владислав Макеев и Григорий Резников. До этого кубок, как эстафетная палочка, переходил от Университета ИТМО к СПбГУ и обратно.

Поскольку олимпиада международная, то место ее проведения каждый год меняется. В этом году она проходила в Китае, в прошлом — в США, а в 2013-м и 2014-м — в Санкт-Петербурге и Екатеринбурге соответственно.

Теперь о профите. Команда-победитель в этом году получила 15 000 долларов, команды, завоевавшие золотые медали (первые четыре места), — по 7500 долларов, серебряные медали (5–8-е места) — по 6000 долларов. А утешительный приз (10–12-е места) составляет 3000 долларов — для обладателей бронзовых медалей. Впрочем, деньги здесь не главное. Участие в этой олимпиаде — шанс получить высокооплачиваемую работу и даже встретиться с президентом РФ.

Яндекс.Алгоритм

Яндекс.Алгоритм — это международный чемпионат по спортивному программированию. Участвовать может каждый, кто умеет решать алгоритмические задачи и знает один из тринадцати допустимых языков программирования. Других ограничений, в том числе возрастных, нет. Тематика задач чемпионата меняется из года в год, в 2018-м упор был сделан на оптимизацию и машинное обучение.

Чемпионат Яндекс.Алгоритм

Соревнования состоят из нескольких отборочных раундов, в каждом из которых нужно решить пять задач за 100 минут, и финала, в который попадают 25 человек, показавших лучшие результаты. Призеры чемпионата получают денежные призы. Кстати, о призах. В 2018 году призовой фонд чемпионата составил солидные 980 тысяч рублей.

Победителем в этом году стал Геннадий Короткевич (Белоруссия), второе место занял Алексей Данилюк, а на третьем — Михаил Ипатов (призер ACM/ICPC).

Пять причин попробовать участвовать в чемпионате в следующем году:

  • нет ограничений по возрасту и принадлежности к вузу;
  • широкий выбор языков программирования;
  • возможность завести полезные знакомства — Яндекс.Алгоритм ежегодно собирает лучших программистов международного класса;
  • возможность заработать солидную сумму;
  • минимальные затраты со стороны участника (тебе не придется выезжать за пределы страны, не нужен загранпаспорт, визы и прочее).

На наш взгляд, Яндекс.Алгоритм даже интереснее, чем ACM/ICPC. Во-первых, меньше всевозможных ограничений, мешающих участию, во-вторых, можно участвовать одному. И если в ACM/ICPC приз делится между всеми членами команды, то здесь он принадлежит тебе и только тебе. А приз немалый — за первое место в алгоритмическом треке можно получить 300 тысяч рублей, а за первые места в оптимизационном и ML-треках полагается 100 тысяч.

Продолжение доступно только участникам

Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», увеличит личную накопительную скидку и позволит накапливать профессиональный рейтинг Xakep Score! Подробнее

Вариант 2. Открой один материал

Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.


Денис Колисниченко: Постоянный автор журнала «Хакер»

Комментарии (10)

  • Тут дело не только в математическом образовании. Эти соревнования радикально вправляют мозг. Человек, готовившийся к ACM/ICPC, мыслит более собранно, но в то же время творчески; видит проблемы и решения, которые не видят другие; более устойчив морально и психологически.

  • Бросьте, все эти олимпиады - это полная чушь. Это наследие бабушке и неправильной системы образования. Не тратьте свое время. Занимайтесь сфокусированно освоением профессии.

    • Тут согласиться можно - задачи на таких турнирах часто высосаны из пальца и представляют из себя что-то вроде сборки "троллейбуса из буханки хлеба и ниток"

      • Вы просто привыкли работать с готовыми браузерами, компиляторами, СУБД, графическими библиотеками. И никогда не задумывались, кто всё это вам предоставляет. Попробуйте закодить textbox, менеджер памяти, нарисовать заполненный многоугольник...

        В этом месте обычно возражают, что, дескать, всё это уже сделано-переделано и задачи не актуальны. И действительно, зачем гуглу понадобилось делать собственный web-движок, майкрософту - свою движок БД, эпплу - графическую оболочку. Были же готовые...

        • Все что ты здесь написал больше относится к математике, и лишь затем к программированию.

    • Такой ресурс, а коммент отредактировать не могу. Тигр негодует

      • На конференции тоже как бы можно не ездить, а сидеть дома и читать доки. Но по сути выезжая на конференции ты знакомишься с полезными и умными людьми, расширяешь круг контактов , через то извлекаешь профит (например, приглашают на нормальную работу без всяких безумных собеседований)

        • Безумные собеседования это проблема самой компании, если они этого не понимают, то это плохая компания. От того, что у тебя будут контакты, от этого ты круче кодером не станешь. Наивный.

  • Белорусский тролль все первые места собрал, надо было его в черный список внести )