Спортивное программирование

Задача 9. Составление задач

Input file: стандартный ввод
Output file: стандартный вывод
Time limit: 6 секунд
Memory limit: 512 мебибайт

Для составления задач на очередное соревнование организаторы пригласили P опытных участников этих же соревнований. Каждый из них знает некоторый набор задач. Участники любят делиться идеями задач, поэтому каждая задача может быть известна нескольким участникам. К сожалению, если участник знает хотя бы одну задачу из выбранного на соревнование комплекта, то он не может принять в нём участие.

Организаторы заинтересованы в массовости соревнования, поэтому они хотят выбрать задачи так, чтобы как можно больше участников могли принять в нём участие. При этом набор задач должен быть не пуст, и, по возможности, как можно больше.

Организаторы не являются программистами, поэтому испытывают проблемы с тем, чтобы набрать задачи требуемым образом, поэтому просят вас помочь им.

Входные данные

В первой строке входных данных записаны три целых числа P, T и M (1 ≤ P, T ≤ 105; 0 ≤ M ≤ min(106, P · T)) – количество участников, задач и пар участник-задача, которую он знает, соответственно.

В следующих M строках описаны задачи, которые известны участникам. В каждой строке записаны два целых числа u и v (1 ≤ u ≤ P; 1 ≤ v ≤ T) – номер участника и номер одной из известных ему задач. Гарантируется, что для каждого участника каждая известная ему задача описана ровно один раз.

Вывод

В первой строке выведите два числа P и T – искомое количество участников и задач

Обратите внимание – в первую очередь требуется максимизировать количество участников, а при максимальном числе участников – количество задач

Во второй строке выведите T чисел – номера задач в набранном комплекте. Все номера должны быть различными натуральными числами, не превосходящими T. Если возможно несколько оптимальных решений, выведите любое.

Примеры

стандартный ввод стандартный вывод
3 4 6
1 1
1 2
2 2
2 3
3 3
3 4
2 1
1
3 5 6
1 1
1 2
2 1
2 3
3 1
3 3
3 2
4 5

Примечание В первом примере можно было также взять задачу с номером 4, поскольку ее знает один человек. Во втором примере никто не знает задач с номерами 4 и 5, поэтому лучше всего взять их.

Обратите внимание – в этой задаче требуется считать из входного потока много данных. Для этого в программе на языке C++ следует добавить в начало функции следующие три строчки:. В программе на языке Java следует отказаться от использования класса

В программе на языке Java следует отказаться от использования класса .

Очевидно, что нас интересуют только задачи, которые знает как можно меньше людей. Две задачи из этого набора могут войти в контест только если их знает одинаковый набор человек. Поэтому мы для каждого набора человек считаем, какие задачи известны именно этому набору и берем максимальное по размеру получившееся множество. Асимптотика времени работы оценивается как O(m · log(n)) .

Об этом курсе

Недавно просмотрено: 8,031

Курс разработан Самарским национальным исследовательским университетом имени академика С.П. Королева при поддержке Национального исследовательского Томского государственного университета.

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

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

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

Все методы объясняются на примерах конкретных задач и отрабатываются на практике.

Для освоения курса необходимо владеть каким-либо языком программирования на базовом уровне (ветвление, циклы, массивы, процедуры и функции).

В лекциях даются примеры на C++, но для выполнения заданий можно использовать любые язык программирования и среду разработки: вы будете запускать решения на своем компьютере и отправлять ответы.

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

Федеральное государственное автономное образовательное учреждение высшего образования «Самарский национальный исследовательский университет имени академика С.П. Королева» — один из ведущих российских университетов. Статус Самарского университета закреплен в нормативных документах Правительства РФ и признан академическим сообществом.

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

Самарский университет входит в число 29 национальных исследовательских университетов России; 21 участника «Проекта 5-100» — российской инициативы академического превосходства, направленной на повышение конкурентоспособности ведущих университетов нашей страны на мировом уровне.

Университет входит в наиболее авторитетные мировые рейтинги — QS и Times Higher Education, где Россию представляют всего 27 университетов.

Научно-образовательная деятельность Самарского университета охватывает аэрокосмические технологии, двигателестроение, современные методы обработки информации, фотонику, материаловедение, а также фундаментальные технические и естественные науки.

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

Как готовиться к контесту: 10 советов от МФТИ

  1. Определите, достаточно ли у вас базовых знаний для участия в соревнованиях. На раннем этапе необходимо:

    • Знать хотя бы один язык программирования. Лучше всего подойдут С, С++ или Java. В некоторых случаях можно обойтись и Python, но этот язык медленнее других. Также обязателен опыт алгоритмического программирования.
    • Обладать математической подготовкой: уметь решать нестандартные задачи и строить математические модели.
    • Знать английский достаточно, чтобы понимать лекции и задачи.
  1. Организуйте индивидуальные тренировки. Даже если вы будете выступать на командных соревнованиях, уделите время самостоятельной прокачке навыков — как практических, так и теоретических.
  2. Изучите теорию. Почитайте справочник «Олимпиадное программирование», разберите материалы на бесплатном портале E–maxx — там собраны алгоритмы, электронные пособия и новости спортивного программирования.
  3. Решайте задачи — как можно больше и чаще. Ищите задания с прошлых чемпионатов и олимпиад. Их публикуют на Timus Online Judge, Codeforces, TopCoder, Spoj, CodeChef, Codingame и C Puzzles (для языка C). На русском языке доступен Сервис дистанционной подготовки к информатике.
  4. Для начала решайте задачи без учёта времени. Потом уже ставьте таймер. Не останавливайтесь на самых лёгких вариантах — постепенно двигайтесь от простого к более сложному.
  5. Организуйте командные тренировки. Это поможет наладить отношения в коллективе и определить сильные и слабые стороны каждого. Для этой цели подойдут как локальные тренировки, так и сборы по спортивному программированию. В России регулярно проводятся кэмпы для подготовки к крупным соревнованиям. География обширная: Москва, Петрозаводск, Ижевск, Иркутск, Уфа, Владивосток. Есть и международная программа Moscow Workshops, которая зародилась на кампусе Физтеха, а сейчас проводит сборы по всему миру — в Пекине, Сингапуре, Максате, Риге и других городах. В рамках проекта есть и лагерь для учеников 9–11 классов — Moscow Workshops Juniors. Он подойдет для уже прокачанных школьников. Участники каждый день тренируются, посещают лекции, но также занимаются спортом и участвуют в интеллектуальных играх, чтобы поддерживать баланс.
  6. Не забывайте про техническую подготовку компьютера. ICPC предоставляет устройства с установленным программным обеспечением. На региональных чемпионатах могут потребоваться свои ноутбуки — заранее уточните, какие требования к настройкам предъявляют организаторы.
  7. Не пренебрегайте пробным туром перед соревнованием. Это поможет протестировать систему, проверить базовую функциональность и оценить дополнительные возможности.
  8. Помните о гибких навыках. Вы можете идеально знать язык программирования и великолепно решать задачи, но при этом не уметь планировать время или управлять процессами. Эти навыки нужно прокачивать точно так же, как навыки работы с Java. Изучите принципы тайм-менеджмента и командообразования. Тренируйте креативность, когнитивную гибкость и критическое мышление. Учитесь вести переговоры и решать конфликты, а также грамотно распределять ресурсы.
  9. Не геройствуйте — отсутствие сна и отказ от еды ещё никому не помогал победить.

Окей, вы меня убедили, хочу этим заниматься. С чего начать?

«В Татарстане хорошо развито олимпиадное программирование: в школах действуют кружки, а в вузах — специализированные курсы. Например, в Университете Иннополис работает школа довузовской подготовки InnoStar, где работают тренеры по спортивному программированию, проводится олимпиада Innopolis Open по информатике, школа олимпиадной подготовки по информатике, учебно-тренировочные сборы для подготовки участников к международным соревнованиям (IATI, eJOI) и Всероссийской олимпиаде школьников по информатике», — говорит Владимир Сметанин, руководитель Олимпиадного центра Университета Иннополис.

Университет ориентирован на выстраивание целой экосистемы вокруг спортивных программистов и создает для них условия, начиная со средней школы. От школьных олимпиад они переходят к студенческим турнирам. Студентов поддерживают максимально: от расходов на учебно-тренировочные сборы и соревнования, организации университетских турниров до выплаты надбавок к стипендии за достижения на чемпионатах. Как результат системной работы, команда студентов Университета Иннополис прошла в финал ICPC 2020 в Москве.

Кроме того, занятия по спортпрограммированию проводят в КФУ, также работает Олимпиадный центр на базе института вычислительной математики и информационных технологий. Недавно команда лицея им. Н.И. Лобачевского при КФУ получила бронзу на фестивале Rucode, хотя в чемпионате участвовали тысячи конкурсантов со всей России и из других стран.

Школьникам и студентам лучше начинать осваивать программирование с тренерами — это поможет быстрее понять, какие требования предъявляют к олимпиадникам, и скорее выступить на контесте.

Если вы уже закончили учебу, постепенно начинайте решать простые задачи. За помощью можно обратиться к коллегам на Codeforces — это самое крупное русскоязычное (и не только) сообщество спортивных программистов. Можно присоединиться к бесплатным образовательным инициативам вроде Rucode. Как только научитесь решать задачи, начинайте участвовать в контестах. Даже если трудности возникнут еще на отборочном туре, вы поймете, какие требования предъявляют к «спортсменам», и быстрее адаптируетесь.

Задача 5. Думский регламент

Input file: стандартный ввод
Output file: стандартный вывод
Time limit: 2 секунды
Memory limit: 512 мебибайт

В Тридевятом Царстве уже много лет как установилась конституционная монархия. В парламент Тридевятого царства входят 26 партий, обозначаемых строчными буквами английского алфавита от «a» до «z». Заседание парламента в соответствии с регламентом проходит по следующей схеме:

  • В начале заседания никаких законопроектов на повестке дня не стоит.
  • Любая партия (в том числе и та, которая внесла текущий законопроект) в любой момент времени может внести на обсуждение новый законопроект.
  • При вносе партией нового законопроекта обсуждение предыдущего приостанавливается и начинается обсуждение нового. После того, как парламентарии голосуют за новый законопроект, обсуждение законопроекта, прерванного им, продолжается.
  • Дискуссия по любому законопроекту обязана завершиться голосованием по этому законопроекту.
  • В конце заседания не должно остаться внесённых законопроектов, дискуссия по которым не завершена.

Вам дана запись о событиях на сессии парламента. Каждое событие является либо внесением нового законопроекта, либо голосованием за какой-то законопроект, причём в обоих случаях известен номер партии, этот законопроект предложившей. События даны в том порядке, в котором они происходили. Проверьте, может ли данная запись о событиях соответствовать какому-либо заседанию, удовлетворяющему порядку проведения, описанному выше.

Входные данные

Первая строка входных данных содержит одно целое число K – количество строк в записи сессии (1 ≤ K ≤ 1000). Каждая строка соответствует одному из двух событий:

  • Add x – партия x внесла на голосование законопроект.
  • Vote x – прошло голосование за документ, внесённый партией x.

Здесь x – строчная буква английского алфавита от «a» до «z», задающая партию.

Вывод

Выведите «Yes», если существует корректный порядок проведения заседания, который мог привести к такой записи, и «No», если ни при каком корректном порядке проведения заседания данная запись появиться не могла.

Примеры

стандартный ввод стандартный вывод
4
Add a
Add b
Vote a
Vote b
No
8
Add z
Vote z
Add x
Add y
Add x
Vote x
Vote y
Vote x
Yes
1
Vote z
No

Обратим внимание на следующие факты:

  1. Пустая запись является корректной.
  2. Если две записи являются корректными, то их слияние тоже является корректным. Действительно, получится заседание, в котором к моменту окончания первой записи быди приняты все внесённые законопроекты, а затем заседание продолжилось внесением очередного законопроекта и также корректно завершилось.
  3. Если запись является корректной, её можно «вставить» внутрь обсуждения одного законопроекта и получить корректную запись. Это прямо следует из третьего пункта регламента.

Несложно показать, что любую запись можно получить из пустой с помощью действий 2 или 3. Действительно, пусть у нас есть некая корректная запись. Рассмотрим первый законопроект. Он или был поставлен на голосование последним (тогда был применено третье действие – вся оставшаяся запись была вставлена в обсуждение этого законопроекта), или был поставлен на голосование в какой-то момент раньше. Тогда к моменту после голосования по первому законопроекту все внесённые законопроекты уже «закрыты», то есть часть записи от внесения законопроекта на обсуждение до голосования представляет собой корректную запись. Аналогично оставшаяся часть представляет собой корректную запись (так как к моменту её начала никаких законопроектов на повестке дня не стоит, то стартовые условия выполняются, остальные же требования следуют из корректности первоначальной записи), и в этом случае было применено второе действие. В каждом случае получаем переход к записи меньшей длины; будем продолжать действовать таким образом, пока не дойдём до пустой записи.

Гид по спортивному программированию: обзор соревнований и советы по участию в них

tproger.ru

Тем самым мы показали, что условие задачи эквивалентно правильной скобочной последовательности с 26 типами скобок. Для проверки того, что скобочная последовательность является правильной, лучше всего использовать стек: в начале обсуждения законопроекта мы кладём на стек букву, соответствующую внёсшей его партии, по окончании – сравниваем вершину стека с буквой, соответствующей партии, законопроект которой поставлен на голосование (если не равны – запись некорректна) и снимаем букву со стека. Если в какой-то момент времени была попытка взять вершину пустого стека – запись некорректна. Если по завершении всей записи стек не пуст – какие-то законопроекты не поставлены на голосование и запись некорректна. Во всех остальных случаях запись корректна.

Для школьников

IOI

Что: ежегодная международная олимпиада по информатике среди школьников.

Среднее число участников: более 300 школьников из 87 стран.

Условия: возраст не старше 20 лет и отсутствие высшего образования. На момент участия в конкурсе программист не должен числиться в вузе. Тренировочные сборы перед IOI проходят дважды в год, с 2018 — на базе МФТИ. В качестве подготовки школьники участвуют в международных соревнованиях, например, ездят на турниры в другие страны.

Задачи: в течение двух дней нужно решить и запрограммировать несколько алгоритмических задач, составленных опытными разработчиками. Основные языки — C++ и Java. В отличие от соревнований ICPC, возможны частичные баллы — если задача проходит некоторый набор тестов, удовлетворяющий более слабым ограничениям, участник получает частичный балл.

Зачем участвовать: участие в крупнейшей школьной олимпиаде по информатике считается бонусом при поступлении в университет. В России сборную формируют по итогам Всероссийской олимпиады по информатике и другим заслугам, призёры которой автоматически попадают в вузы без экзаменов. Более того, они могут претендовать на президентскую стипендию.

Интересный факт: обычно не более 50% участников получают медали, а золото достается лишь 1/12 части школьников. В среднем соотношение золота, серебра, бронзы и отсутствия медалей составляет примерно 1:2:3:6

ВКОШП

Что: всероссийская командная олимпиада школьников по программированию.

Среднее число участников: более 300 команд по три человека в каждой.

Условия: участвовать могут только школьники, которые предварительно прошли отборочный тур. В остальном это командное соревнование по тем же правилам, что и ICPC.

Задачи: в течение одного пятичасового компьютерного тура нужно решить несколько задач. Используются языки программирования Pascal, C++14, C#, Java, Python, D и Kotlin.

Зачем участвовать: участие в ВКОШП — это первый опыт сопоставления своих навыков с навыками других начинающих программистов. При этом даже не придётся выезжать из страны.

Интересный факт: в 2019 году отборочный тур на ВКОШП в Москве школьники писали одновременно и на тех же задачах, что и столичные студенты. Тогда как раз проходила первая ступень отбора на ICPC — соревнование Moscow Programming Contest. Всего в нём поучаствовали 2284 человека, мероприятие зафиксировали в Реестре рекордов России как самое массовое соревнование по программированию в стране.

Технокубок

Что: ежегодная олимпиада по программированию для учащихся 8–11 классов, организованная МФТИ, МГТУ им. Н.Э. Баумана и компанией Mail.ru Group.

Среднее число участников: 7 500 человек, из которых более 550 доходят до финала.

Условия: допускаются только школьники. Для попадания в очный финал нужно пройти отборочный тур онлайн. Тур проходит по правилам раундов Codeforces.

Задачи: участникам нужно решить несколько алгоритмических задач. Основные языки программирования — Pascal, C#, C++, Haskell, Go, Java, Python, D, Kotlin, PHP, Perl, Ruby и Scala.

Зачем участвовать: олимпиада входит в перечень РСОШ и относится к соревнованиям первого уровня. Это позволяет победителям и призерам поступать в российские вузы без экзаменов. Участники «Технокубка» также получают привилегии при поступлении на образовательные проекты Mail.ru Group. А ещё можно выиграть iPad или AirPods.

Интересный факт: организаторы «Технокубка» креативно подходят к написанию задач. Например предлагают подсчитать разбросанные по комнате носки или помочь клонам выбраться из подземной лаборатории.

История

До 2017 года чемпионат проводился под эгидой ассоциации вычислительной техники (ACM). Начиная с 1989 года, организацией соревнований занимается университет Бэйлора. В разное время спонсорами соревнований становились такие компании, как Apple, AT&T и Microsoft, c 1997 по 2017 год генеральным спонсором являлась компания IBM, начиная с 2018 года глобальным спонсором средств программирования является компания JetBrains.

С 1977 по 1989 в олимпиаде преимущественно участвовали команды вузов из США и Канады. К настоящему моменту олимпиада превратилась во всемирное соревнование: в 2019 году в ней приняло участие 52 7097 участников из 3233 учебных заведений, представляющих 110 стран. 135 команд сошлись в борьбе за главный трофей в финальном турнире. Количество команд продолжает расти на 10-20 % в год, так что в будущем соревнования обещают стать ещё представительнее.

Россия, Азербайджан, Армения, Белоруссия, Грузия, Казахстан, Киргизия, Латвия, Литва, Узбекистан составляют Северный Евразийский регион, ежегодно делегирующий на финальный турнир свои лучшие команды. Квота региона по количеству команд до 2013 года ежегодно увеличивалась: на финал 2011 было отправлено 12 команд, на 2012 — 16 команд, на 2013 — 19 команд, на 2014 — 17 команд.

[править] Холиворы

  • могут ли олимпиадники заниматься настоящим программированием?
  • нужна ли популяризация олимпиадного программирования?
  • нужно ли использовать макросы?
Аргументы за
  • Алгоритмы нужны для разработки чего-то большого и нового. Такую систему, как поиск гугла, невозможно спроектировать с помощью обычных приёмов декомпозиции и паттернов программирования.
  • Алгоритмы это наше всё!!!!1111расрас
Против
  • Олимпиадные задачи могут вообще не иметь никакого отношения к практическому программированию. Например, решение может сводиться к вычислению аналитического выражения или выводу на печать константы (да-да, и такое бывает), то есть к области чистой математики. Как правило код, написанный олимпиадниками никто, включая самого автора, потом не поймёт. В серьёзном промышленном программировании, понятный и сопровождаемый код с чёткой архитектурой ценится несравненно выше чем замысловатый и в разы более быстрый, так как зачастую стоимость вычислительных ресурсов ничтожна по сравнению со стоимостью разработки и поддержки. Кроме того оптимизировать, например писать ассемблерные вставки или использовать нетривиальные алгоритмы, имеет смысл только отлаженный код и только в узких местах.
  • Задачи, имеющие отношение к компьютерной тематике (например формат PCX или скан-коды клавиатуры) часто содержат ошибки, что как бы намекает на плохие познания авторов в компьютерах.
  • Ряд задач сводится к тому, чтобы закодить алгоритм, который есть в учебнике, но которого нет в стандартной библиотеке (типа максимального паросочетания или минимального разреза).
  • Решения олимпиадных задач очень короткие (обычно менее 200 строк), которые можно отладить с помощью грубой силы, напильника и кувалды.
  • Для решения используются самые базовые средства, чтобы сделать соревнования доступными для как можно большего числа участников. Поэтому можно даже не знать язык, на котором пишешь.
  • Заюзать какую-нибудь стороннюю библиотеку хер получится. Алсо, с этим связан фап на java BigInteger, пусть и неудобный, но доступный из коробки (в связи с этим авторы изобретают особо хитрожопые задачи, где длинная арифметика есть, а этот класс бесполезен; давать задачи, где очевидно применение BigInteger считается моветоном).

А зачем заниматься спортивным программированием?

Спортивные программисты встречаются редко — их примерно 4,5% от общего числа разработчиков в мире, а призеров и того меньше. Поэтому работодатели в них заинтересованы — прямо с чемпионатов участников зовут на собеседования в крупные компании. И большинство ценит навыки независимо от побед: умение быстро решать комплексные задачи, находить нестандартные ответы, работать в команде и пользоваться сложными инструментами. Например, теорией графов, методами динамического программирования и тернарного поиска.

«Именно в ходе таких соревнований нередко обнаруживаются скрытые таланты, настоящие самородки и фанаты своего дела

Спортивное программирование держит голову в тонусе, а победители таких соревнований зачастую могут рассчитывать на внимание и предложения от крутых IT-игроков», — говорит HR-директор Центра цифровой трансформации Татарстана Константин Черников

Преимущество спортсменов, кстати, не в языках программирования, потому что в основном это стандартные C/C++, Kotlin, Java и Python, а в мощном математическом бэкграунде. Поэтому обычно они занимаются кодовой базой, комплексными системами и алгоритмами. Условно, в e-commerce компании «спортсмен» вряд ли будет разрабатывать личный кабинет покупателя или систему проставления тегов. Скорее всего, он будет создавать алгоритмы для работы карт, поисковиков, мессенджеров.

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

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 долларов — для обладателей бронзовых медалей. Впрочем, деньги здесь не главное. Участие в этой олимпиаде — шанс получить высокооплачиваемую работу и даже встретиться с президентом РФ.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector