Вчера, 3 июля, прошел финал ACM ICPC 2013. Этот пост не будет подробно рассказывать о том, как прошел контест нашей команды, этому будет посвящен лишь один абзац. Я поведаю в основном о недостатках и просчетах организаторов финала. Они были, и я надеюсь, что в следующем году этого не повторится.
(осторожно, в этом абзаце вы можете заспойлерить себе некоторые задачи!)
Сначала о контесте: мы заняли 35 место с 5 задачами. Это немного хуже, чем я ожидал (мне казалось, что у нас будет место в районе 25-30). В начале контеста мы сильно растерялись. Я и craus очень долго думали над задачей F — мы сдали ее под занавес первого часа, по пути отсеяв несколько неверных решений и написав то, к которому не получилось придумать контрпример. Затем мы решали задачу D. Не понимая, как ее делать, Hohol распечатал ответы на первые несколько тестов, но ничего не извлек. Потом я вспомнил задачу с тимуса и написал точно такой же перебор — оказалось, что кандидатов на ответ порядка 50 тысяч (конечно, порядочный ACM-щик должен знать, что их мало, но мы такими не являемся), так что работает прекальк. Дальше подоспели решения задач A и H, которые пришлось немного подебажить, так как писать с первого раза мы так и не научились. Затем мы решили задачу C: сабмит в 3:5x был уже правильным, но TL-ным: команда из трех желтых участников не умеет писать maxflow и поэтому копипастит его с Team Reference, где есть лишь алгоритм Диница, да еще и с кучей ArrayList-ов. Заменив все ArrayList-ы на массивы, мы сразу же получили Accepted. Оставалось немногим более получаса, мы решили, что не умеем решать J за это время (задача, надо сказать, очень противная, из тех, что я особенно ненавижу — куча тупейшей бессмысленной реализации), и поэтому попытались решить B, но, как оказалось, надо было решать специфическую системку уравнений за O(1), как когда-то учили на третьем курсе (на самом деле приятная неожиданность — знания, полученные и успешно забытые в универе, оказались нужными в ACM ICPC!).
А теперь о фейлах.
Мы приехали на поезде в 6 часов утра (примерно в это же время приехали и ИжГТУ). Но в отель нас не заселили, пришлось подождать до 14-00. Разумеется, компания IBM непременно обанкротится, если закажет дополнительные несколько номеров на одни сутки для участников финала чемпионата мира. В то же время craus и I_love_natalia вспоминают, что в 2010 году в Харбине такой фигни не было: тогда их сразу с аэропорта доставили в отель.
Номера в отеле Англетер по цене OVER 9000 на первый взгляд почти ничем не отличаются от номеров в неплохом санатории, где я отдыхал несколько лет назад, за исключением отсутствия балкона (ну и собственно, самой цены). Но это только на первый взгляд: оказалось, что интернет в Англетере настолько хорош, что видео с Youtube качества выше 240p воспроизводить он не в состоянии. Пламенный привет провайдеру iBAHN.
Перед открытием состоялось мероприятие IBM TechTrek. Видимо, организаторы считали, что очень комфортно сидеть два часа без перерыва на выставленных в ряд стульчиках. После первого часа количество занятых сидячих мест наполовину опустело — кто гулял, кто вообще вышел на улицу, все пили воду...
На всех ужинах, проводимых в Манеже, а их было то ли три, то ли четыре — я уже не помню, а заглядывать в расписание лень — был доступен шикарный ассортимент напитков: Coca-Cola, Sprite, Fanta, Nestea и вода. Надо ли говорить, что многие участники вообще не могли пить газированные напитки (к примеру, у меня болело горло, и употребление лимонадов не очень-то способствует состоянию этого самого горла). Поэтому большинство брало себе Nestea, который сразу же после его доставки заканчивался за O(1). Воду пить на такого рода мероприятии тоже не очень круто. Почему нельзя было предоставить банальный чай с горячей водой?
Во время пробного тура температура в зале была равна 18 градусам. На просьбы сделать потеплее организаторы никак не отреагировали, при том что большая часть участников пришла в одних майках и, я уверен, замерзала. Под конец пробного тура температура поднялась до 22 градусов, что уже приемлемо, но сидеть около 2 часов, ощущая холод вокруг себя, особенно немного приболев, не особенно круто.
Следующее замечание не является фейлом организаторов — это фейл участников. Почему-то почти все гости из других стран считают, что шведский стол — это именно то мероприятие, где нужно устраивать очередь из ста человек, чтобы взять абсолютно разные блюда. И грустно и смешно.
Наверное, так принято, но я считаю, что после 5-часового контеста неплохо провести обед. И даже если вы проводите церемонию закрытия, которая заканчивается примерно в 17-30 (а завтрак кончался примерно в 8-00 — разность считайте сами), то после нее надо дать нормально покушать, а не раздавать пакетики с яблоком, пачкой печеньев и минералкой и после этого...
... везти в цирк. ЦИРК??? Вы совсем там рехнулись? Какой еще цирк? Пяти сотням взрослых людей интересно смотреть цирковые выступления? Может быть, перед этим хотя бы стоит покушать и отпраздновать победы, не? Лично я половину выступления провел в вестибюле, найдя тот положительный момент, что можно наконец-то позвонить домой и рассказать обо всем, что происходило на финале. Вторую половину выступления я просто гулял по Михайловскому саду. В 19-00 нас таки отвезли в Манеж, где уже были накрыты столы, но на этот раз в холодильниках не было даже Nestea, а когда он появлялся, его мгновенно расхватывали. Это не Celebration Dinner, можно ливать.
Из того же, что понравилось, можно вспомнить классное открытие с музыкой из мультиков и Марио в исполнении симфонического оркестра, а также — что самое главное — отличную и безошибочную работу тестирующей системы и нормальные ограничения в условиях задач. Последнее нововведение на самом деле замечательно — не нужно ничего гадать, большое спасибо за это организаторам, и я надеюсь, что такая традиция продолжится и в дальнейшем.
Наша же команда по причине отыгрывания 5 сезонов завершает свои выступления, оставляя после себя вот этих ребят. Пожелаю им тоже когда-нибудь съездить на финал в качестве участника, может быть, даже в следующем сезоне. И искренне желаю организаторам финала-2014 не повторять ошибок питерцев и провести хорошее мероприятие.