Напоминание: в случае технических проблем любого характера, вы можете использовать m1.codeforces.com, m2.codeforces.com, m3.codeforces.com. ×
Автор MikeMirzayanov, 6 лет назад, По-русски

Привет!

Я рад сообщить, что два раунда Codeforces прошли вполне хорошо в плане работы Codeforces, чему я очень рад. Эти дни ночи я провел в профайлере, фиксах кода, изучению настроек MariaDB.

Кроме этого мне удалось выделить несколько часов в воскресенье (если честно, то до утра понедельника), чтобы закончить давно планируемое нововведение.

Встречайте, диагностика решений на С++!

Постоянные посетители Codeforces уже устали от вопросов менее опытных участников: «Почему моё решение не работает на тесте на серверах Codeforces, если локально я его запускаю, и оно работает? У вас неправильный компилятор/серверы!» В 99% случаях это пример неопределённого поведения в программе. Иначе говоря, программа содержит ошибки, которые в силу ряда обстоятельств не воспроизводятся при локальном запуске, но воспроизводятся при запуске на серверах Codeforces.

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

В g++/clang++ есть замечательная штука sanitizers (переводится как «дезинфицирующее средство»). Это такие способы скомпилировать программу в особом режиме так, что при своей работе она будет проверять свой ход выполнения на неопределенное поведение (и некоторые другие ошибки) и в случае возникновения выдавать их в stderr. Похожей функциональностью обладает и drmemory (некоторый аналог valgrind, но для Windows), который для определения ошибок запускает программу в особом режиме. При таких диагностических запусках колоссально страдает производительность выполнения программы (программа выполняется медленнее в 5-100 раз и требует больше памяти), но зачастую оно того стоит.

Теперь автоматическая диагностика в некоторых случаях предотвратит вопрос вида «Почему не работает???», указав на ошибку или её вид!

Если ваше решение:

  • написано на C++,
  • упало с вердиктом «неправильный ответ» или «ошибка исполнения»,
  • на этом тесте отработало предельно быстро и съело мало памяти,

то оно будет перезапущено, используя специальные диагностические компиляторы (clang++ c sanitizers и g++ с drmemory). Если при таком запуске произойдет ошибка исполнения, то журнал запуска будет отображен в деталях тестирования в разделе «диагностика». Конечно, эта запись будет содержать технический лог на английском языке, но зачастую он укажет вам на ошибку программы. Часто он содержит причину падения программы и даже строку исполнения. Если диагностика не отображается, значит хотя бы одно условие выше не выполнилось или диагностика не обнаружила ошибок.


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

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

Желаю, чтобы ваши программы не падали. Надеюсь, нововведение будет полезно!

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

P.S. Так же диагностические компиляторы просто доступны для использования. Например, их можно использовать на вкладке «Запуск». Напоминаю, что программа работает многократно медленнее и потребляет больше памяти в режиме диагностики.

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

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

Автор stgatilov, история, 6 лет назад, По-русски

В этом году в первой номинации Всесибирской олимпиады участникам снова предлагалось написать программу управления роботами-пылесосами.

Как и в прошлом году, игра массовая: в каждой игре запускаются вместе стратегии всех 46 команд. Поэтому, как и в прошлом году, участником пришлось писать стратегии на языке Lua. По появившейся в прошлом году хорошей традиции, в каждом классе, в котором писали соревнование участники, был включен телевизор или проектор, на котором постоянно по циклу показывались последние игры, прошедшие на сервере жюри. Это позволяло участникам быстрее и проще адаптировать свои стратегии под изменения стратегий соперников. Более того, каждый участник мог даже скачать решения всех других участников в любой прошедшей игре, и запустить их локально в любых желаемых конфигурациях.

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

Видео одной игры финального тестирования.

Игровое поле

Сейчас по задаче можно скачать:

  1. Исходные коды игры. Для сборки нужны CMake и Qt, но дорогу осилит идущий =)

  2. Оригинальные материалы. Этот архив выдавался участникам на соревновании. В нём есть в том числе полное условие задачи и виндовые бинарники. Если визуализатор сходу не запускается, советуем собрать из исходников.

.

.

Немного фото с места проведения:

Игра и котики

Обсуждение после конца тура

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

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

Автор Marco_L_T, 6 лет назад, По-английски

Hello, Codeforces!

I'm quite excited to invite you to participate in Codeforces Round #447 (Div.2 Only) which will be held on November 19 16:55 MSK.

All five problems are created by Zerui Cheng (Marco_L_T), Bingheng Jiang (NOIRP), Yiming Feng (whfym). And it's our first round on Codeforces. We want to show our great thanks to our school The High School Affiliated to Anhui Normal University and our coach Guoping Ye in competitive programming training.

And we also want to show our great appreciation to Mikhail Krivonosov (mike_live), Gleb Lobanov (Glebodin), Weihao Zhu (Tommyr7), Shiqing Lyu (cyand1317) for testing the problems, to Nikolay Kalinin (KAN) for coordination and to Mike Mirzayanov (MikeMirzayanov) for the fantastic Codeforces and Polygon platforms. The round can't be realized without their great help.

The contest will consist of 5 problems and you'll be given 2 hours to solve them. As usual, the scoring will be announced shortly before the start of the contest.

The contest is rated for Div. 2 contestants. And the same as before, Div. 1 contestants can take part out of competition.

Wish everyone high rating and bugless code!

See you on the leaderboard!

Clarification: In the mail, it reads that the duration is 2 hours and 30 minutes and it'll contain 6 problems. There's a mistake. The duration of the contest is 2 hours and there will be 5 problems.

UPD1: Scoring: 500-1000-1500-2000-2500

UPD2: The contest is finished! Have fun hacking!

UPD3: The system test is finished! Congrats to the winners!

And do you find something interesting in the statements,especailly for Chinese contestants?

Div.1 & Div.2:

  1. fateice_ak_ioi (solved all the problems and got 22 hacks)

  2. peace (solved all the problems and got 10 hacks)

  3. dreamoon_love_AA

  4. KrK (solved all the problems)

  5. Benq (solved all the problems)

Div.2:

  1. fateice_ak_ioi (solved all the problems and got 22 hacks)

  2. peace (solved all the problems and got 10 hacks)

  3. ec24 (made 16 hacks)

  4. daaaaaaaaaaaaaaaaaaa

  5. QYitong1

UPD4: Maybe you're complaining that there're too many hacks and the pretests are so weak,but it's our intention to do so. We regard hacks as a very important part and a feature of Codeforces.Do you agree?

UPD5: Editorial

Maybe B and C are a little harder than before,we'll be cautious about this next time.

Hope you have fun in solving the problems and hacking!

See you next time!

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

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

Автор Mahdi_Jfri, 6 лет назад, По-английски

Hi Codeforces!

I'd like to invite you to join Codeforces Round #446 which will be held on November 17 at 17:35 MSK.

And yes it is rated.

The contest is prepared by Omid Azadi (omidazadi), Mehrdad Saberi (Batman), Arshia Soltani (ckodser), Aryan Esmailpour (Aryan) and me (I honestly didn't do anything).

And also thanks to Mahdi Amiri (Amiri), AmirReza PoorAkhavan (Arpa) for helping us, Weihao Zhu (Tommyr7) for testing the round and Nikolay Kalinin (KAN) for round coordination and Mike Mirzayanov (MikeMirzayanov) for awesome platforms Codeforces and Polygon.

You will have 2 hours and 5 problems each division.

Contest theme will be about Seven Deadly Sins but the statements will be short and brief.

The scoring distribution will be posted soon and good luck and stuff.

Update 1 : The scoring for both divisions is 500 — 1000 — 1500 — 2000 — 2500.

Update 2 : The round is over. Hope everybody had fun and enjoyed it. And as you can see the round is rated so yay!

Top 5 Div1 participants :

1.jqdai0815 (The only one who solved all problems)

2.Radewoosh

3.dotorya

4.SkyDec

5.ksun48

Top 5 Div2 participants:

1.shoob

2.mosthenio

3.SLLN

4.fdoer

5.dl1997

The editorial is posted.

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

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

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

Всем привет!

Отличная новость — Russian AI Cup 2017 стартовал! Это соревнование проходит в шестой раз, и на этот раз, надеюсь, мы порадуем любителей стратегий — вы будете управлять сразу 500 единицами техники 5 разных типов. Задача — уничтожить соперника!

Попробуйте себя в создании искусственного интеллекта, это просто и интересно. Заходите на сайт Russian AI Cup и в бой. Удачи!

 Russian AI Cup

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

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

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

Раунд будет нерейтинговым. Однако, раунд будет учитываться при отборе на финал Технокубока. Кроме того, мы планируем провести дополнительный (четвертый) отборочный раунд, чтобы компенсировать проблемы на этом раунде. Следите за обновлениями. Приносим свои извинения за получившуюся ситуацию. Надеюсь, вам понравились задачи.

Привет.

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

Череда технических сложностей привела к такому результату. На этой неделе у нас вышел из строя сервер для системы Polygon (и очень оперативно Mail.Ru смогли его заменить, спасибо!). Я забыл переконфигурировать Polygon, что привело к проблемам на веб-серверах Codeforces. Один из серверов Codeforces вообще перестал отвечать, и что с ним я пока не знаю (такое с ним вообще впервые).

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

Еще раз приношу извинение за неудобства.

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

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

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

Добрый день!

12-го ноября в 19:05 по московскому времени состоится Отборочный Раунд 3 олимпиады для школьников Технокубок 2018. Раунд будет длиться два часа, участникам будут предложены 6 задач. По его результатам лучшие участники (но не более 45% от общего числа участников раунда) будут приглашены на финальный этап в Москву. Для регистрации на раунд и участия перейдите по ссылке. Не забудьте заранее зарегистрироваться на раунд! Для опоздавших будет открыта дополнительная регистрация (с 19:15 до 19:35).

Зарегистрироваться на Отборочный Раунд 3 →
Соревнование открыто для всех в виде отдельных раундов для первого и второго дивизионов.
Для всех участников всех трех редакций этого соревнования будет пересчитан рейтинг.

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

Напомним, что согласно правилам раундов Codeforces во время соревнования ваши решения будут тестироваться только на претестах (предварительном и неполном наборе тестов), а системное тестирование состоится после окончания раунда. Обратите внимание, что претесты не покрывают все возможные случаи входных данных, поэтому тщательно тестируйте свои программы! После прохождения претестов у вас будет возможность заблокировать решение, тем самым получив привилегию искать ошибки и взламывать чужие решения, но отказавшись от возможности перепослать ваше решение при каких-либо обстоятельствах (например, даже если вы найдете ошибку или вас взломают). Со временем задачи падают в стоимости. После системного тестирования учитываются только полные решения. Подробнее про правила соревнований можно прочитать по ссылкам:

Регистрация на олимпиаду Технокубок еще открыта. Победителей и призеров олимпиады ждут значительные квоты при поступлении в престижные технические вузы России и ценные призы! Если вы — школьник 8-11 классов и пока не зарегистрировались на Технокубок, то самое время сделать это:

Зарегистрироваться на олимпиаду →
После регистрации на олимпиаду не забудьте зарегистрироваться на Отборочный Раунд!

В финал соревнования будут приглашены лучшие участники каждого из отборочных раундов (но не более 45% от общего числа участников раунда).

Спасибо MrKaStep, komendart, veschii_nevstrui, bixind, AndreySergunin и DPR-pavlin за подготовку задач Технокубка, а также Lewin, любезно предложившему последнюю задачу. Также спасибо zemen и AlexFetisov за тестирование раунда.

Желаем удачи на олимпиаде,
команда Технокубка.

UPD: Мы сожалеем, что из-за технических проблем не получилось провести раунд без сбоев. Раунд будет нерейтинговым. В отборе Технокубка раунд учитываться будет, кроме того, мы планируем провести еще один отборочный раунд. Надеюсь, вам понравились задачи.

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

Технокубок 2018 - Отборочный Раунд 3

  1. potapov_al
  2. 300iq
  3. qoo2p5
  4. Vosatorp
  5. manoprenko

Codeforces Round 445 (Div. 1, основан на Отборочном раунде 3 Технокубка 2018)

  1. V--o_o--V
  2. Petr
  3. Um_nik
  4. SirShokoladina
  5. LHiC

Codeforces Round 445 (Div. 2, основан на Отборочном раунде 3 Технокубка 2018)

  1. mosthenio
  2. Ingus
  3. paulsohn
  4. xX_ucfNOTpt_Xx
  5. Omar_Morsi

Опубликован разбор.

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

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

Автор BledDest, история, 7 лет назад, перевод, По-русски

Привет, Codeforces!

9 ноября в 18:05 по Москве начнётся Educational Codeforces Round 32.

Продолжается серия образовательных раундов в рамках инициативы Harbour.Space University! Подробности о сотрудничестве Harbour.Space University и Codeforces можно прочитать в посте.

Раунд будет нерейтинговый. Соревнование будет проводиться по немного расширенным правилам ACM ICPC. После окончания раунда будет период времени длительностью в один день, в течение которого вы можете попробовать взломать абсолютно любое решение (в том числе свое). Причем исходный код будет предоставлен не только для чтения, но и для копирования.

Вам будет предложено 7 задач на 2 часа. Мы надеемся, что вам они покажутся интересными.

Задачи вместе со мной готовил Михаил awoo Пикляев.

Удачи в раунде! Успешных решений!

UPD: Разбор.

У меня также есть сообщение от наших партнёров, Harbour.Space University:

(перевод будет чуть позже)

Thank you for taking part in the 2nd Hello Barcelona Programming Bootcamp in collaboration with Moscow Workshops ACM ICPC. It was a pleasure to have you on board. We hope you enjoyed it and we would love to have you back next time.

Congratulations ITMO and Harbour.Space University teams for winning divisions A and B! It was amazing watching the scoreboard throughout all nine days as teams from New South Wales, Saint Petersburg, Tokyo, among many others, challenged the top spots. Watch the recap here!

``Geometry is the key to success in modern contests'' states Andrey Stankevich, coach of 7 ACM-ICPC World Champions

Lecturing both divisions A and B, Andrey brought a vast wealth of knowledge to the boot camp, and shed light on how to better tackle the problem sets that teams will face in their upcoming regional competitions.

“What technology should we use to analyze big data?” asks Alexey Dral, Head of Data Science School at Corporate University of Sberbank

Leisure day was a full one, with bus city tours, to gaming, to lectures and workshops. We had many special guests Sberbank, including Alexey Dral, who talks about the impact of a boot camp that is not only focused on the coding aspect, but the machine learning, the data processing and the practices that each participant can utilise to become an ACM-ICPC competitor to be reckoned with.

Scholarship Information

We are offering a Scholarship for each of our three tech programmes: Data Science, Computer Science and Cyber Securityfill out the Form for the January 2018 programme start period or the September 2018 programme start period. We will contact you soon. Can't wait to see you here!

Go to form

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

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

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

Привет, Codeforces!

В октябре в грантовой программе фонда Виктора Шабурова Botan Investments приняли участие 20 вузов. Также в этом месяце есть один новый участник — это Университет Иннополис (Казань). Нескольким вузам удалось привлечь к тренировкам более тридцати студентов: это ТПУ (Томск), КФУ (Казань) и СГУ (Саратов). Больше всего тренировок в октябре провели в ТПУ и КФУ.

Botan Investments выступил спонсором четвертьфинала Южного подрегиона в Саратове и отборочного этапа (⅛) ACM ICPC в Хабаровске.

В нашей группе ВК вышло два новых поста Михаила droptable Рубинчика, посвященных социальной ответственности вузов в АСМ: о будущем АСМ и о помощи сообществу. А сегодня — рассказ от Михаила о финалах лиг и о том, что станет с NEERC:

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

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

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

Всем привет!

text

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

Москва
Саратов
Екатеринбург
Рыбинск
Челябинск, Магнитогорск
Минск

В воскресенье 5 ноября 2017 года в Санкт-Петербурге в Университете ИТМО состоится Командный чемпионат школьников СПб по программированию. В соревновании будут участвовать более 120 команд. Таблицу текущих результатов можно найти здесь.

Кроме того, на сайте состоится отборочный интернет-тур. Начало соревнования ожидается в 12:00 по московскому времени.

А также в воскресенье на тех же задачах, что и в Санкт-Петербурге, пройдут отборочные соревнования в Казани (Иннополисе), Кирове, Гомеле, Петрозаводске, Ижевске и Перми.

Следите за актуальной информацией в VK, Instagram, Twitter и Telegram. А также по хештегу #СПбКОШП.

UPD: Из Санкт-Петербурга на ВКОШП прошло 13 команд, решившие 7 и более задач.

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

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