Автор MikeMirzayanov, 11 лет назад, По-русски

С помощью нескольких опытных и уважаемых членов сообщества (спасибо!) было сформулировано правило, разрешающее использовать сторонний код при выполнении определенных условий. Внимательно ознакомьтесь с текстом.

Следующий текст войдет как часть в обновленные правила соревнований. Ближайший контест будет проведен уже по обновленным правилам. Таким образом, есть около двух суток для уточнения деталей, если что-то непонятно.

Решения и генераторы могут содержать код, чьим автором являетесь не вы, только в двух случаях:

  1. этот код был написан и опубликован/распространен строго до начала раунда,
  2. этот код сгенерирован с помощью инструментов, которые были написаны и опубликованы/распространены строго до начала раунда.

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

В случае внесения изменений в код из пунктов 1) и/или 2) все эти изменения должны быть сделаны исключительно лично вами.

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

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

Например, этому правилу соответствует использование кода с сайта http://e-maxx.ru/ или из Wikipedia (если код был написан и опубликован/распространен строго до начала раунда). Соответствие правилам использования в этом случае легко проверяется с помощью кэшей поисковых систем. Аналогично, допустимо использование кода из книги/статьи, опубликованной до контеста. С другой стороны, использование внутрикомандных заготовок (например, для финала ACM-ICPC) недопустимо, если не существует надежного и объективного способа доказательства времени написания этого кода.

Это правило ни в коей мере не послабляет запрет на общение, обсуждения или какую-либо другую форму коммуникации между участниками на любые темы, имеющие отношения к задачам, во время раунда.

Полный текст и комментарии »

  • Проголосовать: нравится
  • +111
  • Проголосовать: не нравится

Автор fchirica, 11 лет назад, перевод, По-русски

Всем привет!

Мы приглашаем вас принять участие в Codeforces Round #198, который начнется в пятницу, 30 августа в 19:30 MSK . Авторами задач являются я и Linh (ll931110). Мы также являемся авторами Codeforces Round 191 (Div. 2). В тот раз участники были довольны задачами раунда. Мы надеемся, что этот раунд будет как минимум не хуже предыдущего.

Linh придумал задачи D2-C/D1-A и D2-E/D1-C. Я придумал остальные задачи. Мы надеемся, что во время раунда вы потратите больше времени на обдумывание решений, нежели на написание кода. Хочется добавить, что задачи раунда не будут требовать от вас написания сложных алгоритмов. Вместо этого, все они требуют креативности, сложных рассуждений и терпения. Да, главный герой раунда — Iahub, как и в прошлый раз.

Я хочу поблагодарить DamianS, Gerald и Aksenov239 за тестирование раунда. Без них работа по подготовке раунда была бы намного сложнее. Также, спасибо Delinur за перевод задач и MikeMirzayanov за отличную систему Codeforces и Polygon.

Желаем вам высокого рейтинга и удовольствия от решения задач!

UPD1 Будет использоваться динамическая разбалловка в обоих дивизионах

UPD2 Спасибо всем, кто участвовал. Я надеюсь задачи вам показались интересными. Кажется, мое предсказание, что вы будете больше обдумывать задачи, нежели писать код, подтвердилось.

Мои поздравления победителям.

Division 1

  1. yeputons
  2. KADR
  3. ftiasch
  4. Myth5
  5. huzecong
  6. R_R_
  7. Gabaum
  8. James
  9. ifsmirnov
  10. niyaznigmatul

Division 2

  1. Azat_Yusupov
  2. angel_of_monkey
  3. molamola.
  4. iseriohn
  5. Mato_No1
  6. silver__bullet
  7. TheDude
  8. Nero
  9. khuebeo
  10. uc-nuts

UPD3 разбор (English)

Полный текст и комментарии »

  • Проголосовать: нравится
  • +207
  • Проголосовать: не нравится

Автор Fefer_Ivan, 11 лет назад, По-русски

Добрый день, Codeforces.

Сегодня в 19:30 по московскому времени состоится Codeforces Round #197.

Авторами этого раунда являются я и Gerald. Условия переводила Delinur, за что ей моя искренная благодарность. Так же спасибо MikeMirzayanov за созданиe и поддержку Codeforces.

Стоимости задач: 500 — 1000 — 1500 — 2000 — 3000.

Удачи!

UPD: Чтобы сделать анонс более интересным и увлекательным мы считаем необходимым вставить в анонс шутку про коней и фотографию, на которой изображен процесс подготовки раунда.

Воспитательница в детсаду:
- Коновалов, ты зачем сломал Конюхову его игрушечного коня?!

Полный текст и комментарии »

  • Проголосовать: нравится
  • +215
  • Проголосовать: не нравится

Автор gojira, 11 лет назад, По-русски

337A - Пазлы

В первую очередь, упорядочим числа f[i] по возрастанию. Теперь допустим, что самый маленький пазл, который приобретет учительница, состоит из f[k] фрагментов. Понятно, что в таком случае для минимизации разницы она должна приобрести наименьшие n пазлов, равных или превосходящих f[k] по размеру, то есть пазлы размеров f[k], f[k+1], ..., f[k+n-1] (это не совсем правильно, если среди f[i] встречаются повторяющиеся числа и выполняется f[k]=f[k-1], но такие случаи можно не рассматривать). Разница между наибольшим и наименьшим количествами фрагментов в таком наборе равняется f[k+n-1]-f[k].

Чтобы выбрать оптимальное f[k], переберем значение k от 1 до m-n и выберем наименьшую возможную разницу. Таким образом, весь алгоритм выглядит следующим образом:

read(n, m, f[1..m])
sort(f[1..m])
best = INFINITY
for k = 1 to m-n
  best = min(best, f[k+n-1] - f[k])
print best

Полный текст и комментарии »

Разбор задач Codeforces Round 196 (Div. 2)
Разбор задач Codeforces Round 196 (Div. 1)
  • Проголосовать: нравится
  • +171
  • Проголосовать: не нравится

Автор gojira, 11 лет назад, По-русски

Всем привет!

Через несколько часов (16 августа, 20:00MSK) начнется Codeforces Round #196.

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

Хочу поблагодарить за помощь в подготовке раунда координатора задач Gerald; Seyaua, который тестировал задачи; Delinur, которая переводила условия на английский язык; и Aksenov239, который вычитывал условия.

Разбалловка в обоих дивизионах будет стандартная.

Также добавлю, что я даже старше, чем Sammarize, поэтому перехватываю титул самого старого автора Codeforces-раунда до появления следующего претендента ;)

Контест окончен, я очень надеюсь что он вам понравился. Результаты: Див1, Див2. Мои поздравления лучшей пятерке первого дивизиона:

  1. tourist
  2. ilyakor
  3. al13n
  4. aa2985759
  5. rng_58

Также поздавляю победителя второго дивизиона Ruthles!

Разбор задач можно найти здесь.

Полный текст и комментарии »

  • Проголосовать: нравится
  • +263
  • Проголосовать: не нравится

Автор gridnevvvit, 11 лет назад, По-русски

Всем привет!

Скоро (9 августа, 19:30 MSK) состоится очередной Codeforces Round #195 для участников Div. 2. Как обычно, Div. 1 участники смогут поучаствовать в этом раунде вне конкурса.

Автором раунда являюсь я. Выражаю благодарность Геральду Агапову (Gerald) за помощь в подготовке задач, Евгению Соболеву (Seyaua), Виталию Аксёнову (Aksenov239) и Сергею Сухову (Serega) за тестирование задач, Александру Игнатьеву (aiMR) за тестирование задач и перевод разбора на английский, Михаилу Мирзаянову (MikeMirzayanov) за замечательные системы Codeforces и Polygon, Марии Беловой (Delinur) за перевод задач на английский язык.

Всем удачи и высокого рейтинга!

UPD: Разбор задач

UPD: Поздравляем победителей:

  1. Triolossus_3
  2. WHITE2302
  3. PM2.5

Отдельно хочется поздравить Егора Куликова (Egor) — единственного человека, который сдал все задачи!

Полный текст и комментарии »

  • Проголосовать: нравится
  • +90
  • Проголосовать: не нравится

Автор AlexSkidanov, 11 лет назад, перевод, По-русски

Всем привет!

Второй раунд соревнования MemSQL start[c]up состоится 3-его Августа в 21:00 MSK. Одновременно будет два контеста: для тех, кто участвует онсайт, и для тех, кто участвует онлайн. Набор задач в двух контестах будет одинаковый, и за них будет начислен рейтинг на основе общего монитора.

Участники, участвующие в онсайт раунде, получат специальные призы за первые три места. Все участники онсайт раунда и топ 100 участников из онлайн раунда получат специальные футболки start[c]up.

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

На соревновании будет предложено шесть задач, длительность соревнования -- три часа. Распределение баллов 500-1000-1000-2000-2500-3000.

Задачи приготовлены разработчиками MemSQL pieguy, nika, exod40, SkidanovAlex и dolphinigle.

Удачи и отличного кодинга!

UPDATE: Опубликован разбор задач (на английском)

Полный текст и комментарии »

  • Проголосовать: нравится
  • +138
  • Проголосовать: не нравится

Автор ruzana.miniakhmetova, 11 лет назад, По-русски

Всем привет!

Как вы знаете, уже третий год подряд финалисты ABBYY Cup собираются летом в московском офисе ABBYY на День открытых дверей. В этом году мне выпала честь написать пост о том, как прошел финал ABBYY Cup 3.0. Начнем с того, что все дни до 17 июля и после в Москве лил проливной дождь, что совсем не добавляло нам оптимизма: ранее заявленная развлекательная программа сильно зависела от погоды. Похоже, Вселенной было интересно узнать, как пройдет День открытых дверей ABBYY 2013, и она решила не портить этот день осадками : )

Но сюрпризов нам все равно хватило. Автобус с участниками, прибывшими в Москву 16 июля, приехал из кампуса МФТИ в Долгопрудном на целый час раньше. Вот уж никто не ожидал такого подарка от традиционных пробок на Дмитровском шоссе.

И все бы хорошо, если бы остальные участники не должны были приехать к назначенным 10 часам. «Недолго» думая, мы решили развлечь ребят роликом с многообещающим названием «Правда об ABBYY» (или кому-то послышалось нечто другое? : ) В нем в шутливой форме рассказывалось об условиях работы в компании, а также об исследованиях, ведущихся на «самом переднем» крае науки.
В 10:40 по московскому времени начался финал ABBYY Cup 3.0! Для меня как для организатора это самое приятное время. Тихо-спокойно идет контест, участники решают задачи… А нам остается с интересом наблюдать за изменениями в таблице результатов соревнования и болеть за любимчиков ; )

В результате, Egor, опоздавший к началу контеста, подозреваю, даже не завтракавший в этот день, занял первое место! Таким образом, пятерка призеров: Egor, KADR, yeputons, burunduk3, Petr . А полная таблица результатов соревнования здесь.

После тяжелого испытания участники заслужили полноценный горячий обед. Обсуждение задач плавно переместилось в столовую. В этот день мы не могли обойтись без рассказа о компании, поэтому мы попросили выступить наших сотрудников. Сначала с участниками пообщался президент и генеральный директор группы компаний ABBYY Сергей Андреев, а позже главный консультант по продуктам Compreno Александр Костюченко рассказал об исследованиях компании в области компьютерной лингвистики. Далее последовала небольшая экскурсия по офису ABBYY. Некоторые участники уже не первый год приезжают к нам офис. Так, например, Edvard и aRSeniy быстро нашли xbox и так увлеклись игрой, даже пропустили разбор задач.

И тут мы подошли к самому главному – награждению. Мы приготовили для ребят сюрприз: все подарки вручал Умный Бобер. Каждый смог прикоснуться к прекрасному: кто-то пожал ему руку, кто-то погладил, а вот Alex_KPR даже обнял.

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

В процессе подготовки к квесту мы предполагали, что в 21 час все команды устанут и либо найдут место финиша, либо позвонят и сдадутся. Но не тут-то было! В назначенное время никто до финиша еще не дошел, но и сдаваться никто не хотел! Вот это я понимаю, воля к победе! Представьте, каково было команде Mimino. Специально для него мы подготовили правила на английском языке и предоставили команде переводчика. Думаю, это соревнование для Mimino было куда сложнее любого контеста! А впрочем, аналогичное можно сказать и для всех участников мероприятия : )

В 22 часа команды потихоньку начали подходить финишу, который к слову, был назначен в одном из местных антикафе. Специально для квеста мы арендовали зал-библиотеку. В нем были собраны книги, старая мебель и музыкальные инструменты, приглушенный свет… Словом, атмосфера была очень романтичная и располагала к поэзии: вот бы сейчас вслух почитать Пастернака. И что же вы думаете? Fefer_Ivan, сидя в винтажном кресле, совершенно непринужденно продекларировал нам одно из стихотворений великого русского поэта XX века. Который год после Дня открытых дверей ABBYY я еще неделю пребываю в абсолютно влюбленном состоянии во всех спортивных программистов! Но в этот раз я была поражена просто до глубины души. Вот уж, правда, талантливый человек талантлив во всем!

Команды постепенно подтягивались, делились впечатлениями и взахлёб рассказывали о своих приключениях. И, как нам показалось, несмотря на большую усталость, были довольными. Дождавшись всех участников и подкрепившись после такой необыкновенной прогулки, мы постепенно стали расходиться: кто в метро, кто к автобусу в Долгопрудный, а кто на работу в офис ABBYY : )

На этом рассказ о Дне открытых дверей ABBYY 2013 заканчивается. Мы хотим сказать огромное спасибо всем участникам мероприятия! Мы очень рады, что есть ребята, которые приезжают к нам не первый год. Не менее приятно познакомиться с новыми лицами. Надеемся, что этот день оставил теплые воспоминания и у вас. До встречи!

https://get.google.com/albumarchive/pwa/114842746780416406882/JInSLJ?authkey=Gv1sRgCLPuzoHEm4X_YQ

Альбом с фотографиями есть в ВКонтакте.

Полный текст и комментарии »

  • Проголосовать: нравится
  • +166
  • Проголосовать: не нравится

Автор Sammarize, 11 лет назад, По-русски

Доброго всем времени суток!

Приглашаю Вас поучаствовать в 194 раунде, автором которого я являюсь. Это мой четвёртый раунд, хотя предыдущие три были очень давно: Codeforces Beta Round 79 (Div. 1 Only), Codeforces Beta Round 94 (Div. 1 Only), Codeforces Round 110 (Div. 1) (прошу прощения у div-2 участников, что упоминаю только div-1 раунды, просто ссылка даже на один раунд уже чересчур громоздка).

В этот раз, как в раунде Codeforces Beta Round 79 (Div. 1 Only), вы вновь поможете мальчику Геральду разобраться с его проблемами. На этот раз его проблемы настолько серьёзны, что он стал координатором контестов на Codeforces и помог мне сделать этот раунд, чтобы спихнуть их на вас.

Хочу поблагодарить Gerald за то, что он очень хорошо выполняет работу координатора. Работая с ним, ощущаешь, что всё действительно под контролем. Кроме того, спасибо Марии Беловой за перевод условий на английский. Также спасибо Seyaua и Aksenov239 за тестирование задач.

Этот раунд состоится в необычное время — 12:30 по Московскому времени.

Разбалловка стандартная, 500 — 1000 — 1500 — 2000 — 2500.

Всем спасибо за участие, добро пожаловать в разбор.

Мои поздравления победителям:
Дивизион 1:
1. KADR
2. RAVEman
3. PavelKunyavskiy
4. Dmitry_Egorov
5. RAD
6. sy2006
7. mmaxio
8. riadwaw
9. niyaznigmatul
10. RomaWhite

Отдельно хочу отметить сразу двух украинских участников, которым единственным покорились все пять задач!

Дивизион 2:
1. IMOiguanas
2. savsmail
3. suyash666
4. AntiForest
5. kang205
6. jschnei
7. littlepanda
8. langdamao
9. 9mmlitswe
10. Renkai

Полный текст и комментарии »

  • Проголосовать: нравится
  • +248
  • Проголосовать: не нравится

Автор MikeMirzayanov, 11 лет назад, По-русски

Ура-ура!

Мы двигаемся вперед по ускорению тестирования. В самом деле, когда на раунд регистрируются 3500+ участников, то тяжело успеть протестировать всё на 9 компьютерах Core 2 Duo E6750, 2.66 Ghz, 3Gb памяти.

Как я уже писал, у СГУ недавно появился замечательный класс с 20ю новенькими i5-3470, 8Gb. После небольшого исследования оказалось, что если подразогнать их множителем до 3.5Ghz (конечно, отключив всякие turbo boost и проведя многочасовое исследование на стабильность работы в таком режиме), то скорость их работы примерно равна удвоенной скорости старых тестирующих машин. Это очень удобно, так как позволит в будущем просто поделить все ограничения по времени в задачах на 2.

Только что мы перевели тестирование на использование новой техники, и тестирование осуществляется пока в режиме совместимости. Это значит, что все ограничения времени перед запуском программы делятся на 2, программа исполняется, а в конце время её работы умножается на 2. На самом деле, если вы не используете отсечения по времени или еще какие-то сомнительные трюки, то особой разницы вы можете и не обнаружить.

Старые тестирующие компьютеры в настоящее время не используются.

Если быть предельно точным, то новые компьютеры всё-таки отстают от 2x старых. То есть в режиме совместимости нормально заметить небольшое падение скорости выполнения.

Полный текст и комментарии »

  • Проголосовать: нравится
  • +104
  • Проголосовать: не нравится