Блог пользователя MikeMirzayanov

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

Язык этого раунда — Kotlin. Kotlin (Ко́тлин) — статически типизированный язык программирования, работающий поверх JVM и разрабатываемый компанией JetBrains.

Вот вам пример простейшей программы, которая выводит сумму двух чисел:

fun main(args: Array<String>) {
    val (x, y) = readLine()!!.split(' ').map(String::toInt)
    println(x + y)
}

Для того, чтобы познакомиться с языком мы предлагаем вам почитать следующие материалы:

Вы можете отдельно выкачать компилятор языка версии 1.0.1 по ссылке http://s.codeforces.com/files/kotlin-compiler-1.0.1.zip Для запуска компилятора без IDE вам нужна установленная JRE (виртуальная машина Java), её можно найти по ссылке http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html

Пароль для архива с IDEA (IDE с поддержкой Kotlin из коробки): c8bf9dd9b91ad9ff Сами ссылки на IDEA — чуть ниже или на официальном сайте https://www.jetbrains.com/idea/download/

Удачи!

====

UPD: Вы можете заранее выкачать пакет разработчика (извините, 300 МБ). На самом деле можно будет обойтись и без него — будет доступен запуск на Codeforces и в 18:30 выложим вариант покомпактнее.

OS
Linux http://s.codeforces.com/files/683-linux.7z
Windows http://s.codeforces.com/files/683-windows.7z
Mac OS http://s.codeforces.com/files/683-macos.7z

Все архивы запаролены, пароль будет опубликован в 18:30.

========

16 июня в 19:00 (московское время) вас ждет Surprise Language Round #8. Напоминаю, что это необычное развлекательное соревнование. Задачи можно будет сдавать лишь на одном языке, а каком — пока секрет.

Таким образом, предполагается что за время раунда участники могут познакомиться с языком и сдать на нем несколько несложных задач. Язык раунда будет анонсирован за 30 минут до старта раунда. В этом же время (или даже чуть раньше) мы опубликуем архивы с инструментами для написания программ на этом языке.

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

Правила проведения раунда:

  • Соревнование будет нерейтинговым для всех участников.
  • Индивидуальное соревнование по правилам ACM ICPC: положение в результатах определяется количеством решенных задач, при равном количестве — набранным штрафным временем. Изначально штрафное время участника равно 0, при каждой сданной задаче оно увеличивается на время, прошедшее с начала контеста, + 20 минут за каждую неудачную посылку до отправки правильного решения. Решение считается правильным, если оно прошло все тесты из предопределенного набора; правильно ли посланное решение, становится известно сразу. Взломов чужих решений нет.
  • В раунде будет 6-10 задач, примерно отсортированных по сложности, и 2 часа на их решение.
  • Решения задач принимаются только на одном языке, который будет объявлен за 30 минут до старта контеста.
  • Пожалуйста, в начале контеста перечитайте этот пост целиком: в нем появится объявление языка, рекомендации по установке компилятора (в интерфейсе контеста будет доступен запуск программы онлайн) и полезные ссылки на документацию. В остальном изучение языка — дело рук самого участника. Для решения задач вы можете использовать любые ресурсы (но не совместное участие); ограничиваться документацией, приведенной в посте, не обязательно.

Удачи!

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

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

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

Иногда на соревнованиях по программированию (в том числе и на Codeforces) вы можете встретить интерактивные задачи.

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

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

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

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

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

Общая информация

Саратовский государственный университет в первой половине августа проводит международную летнюю студенческую школу по программированию. Продолжительность школы — десять дней, школа пройдет с 1-го по 11-е августа 2016 года.

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

Школа пройдет в живописном месте, на одной из саратовских баз отдыха на берегу Волги. Участники будут расселены в уютных номерах по 2-4 человека и обеспечены трехразовым питанием. На территории базы имеется собственный пляж и спортивные площадки.

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

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

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

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

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

Дело в том, что в середине мая Полигон был перенесен на серверы, расположенные в Mail.Ru. Для осуществления переноса почти без даунтайма (а данных немало, около терабайта) была настроена утилита lsyncd, которая оперативно проталкивала изменения со старого сервера на новый. Ей же осуществляется один из вариантов бэкапа данных.

Сегодня случился ребут старого сервера, который привел к незапланированному запуску lsyncd и как результат — синхронизации данных со старого сервера опять на новый. В результате данные, находящиеся в файловой системе, были откатаны до версии на момент переноса (13 мая). Значительная неудача состоит в том, что в отличие от старого сервера, где система бэкапов была настроена хорошо и давно, на новом сервере я оперативно успел настроить тот же lsyncd, который не помогает в случае удаления файлов (так как форсирует удаление и на реплике). Очевидно, не помог RAID-1, который мы используем всюду для хранения данных.

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

В экстренном порядке ночью мной была реализована специальная ссылка "Scraps" для задач, чтобы выкачивать архив с доступными данными. Если задача была использована в инфраструктуре Codeforces, то её пакеты остались в кэше тестирующей системы и доступны в том же архиве.

Мне очень паршиво осознавать, что моё недостаточное внимание к деталям привело к таким последствиям. Я отлично помню черный день Codeforces — и в результате него многое было пересмотрено (всюду зеркальные дисковые массивы, реплики и бэкапы). К сожалению, в этот раз после переезда на новое железо я оперативно не вернул все используемые скрипты и вот результат. Приношу свои глубочайшие извинения авторам задач.

М.

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

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

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

Привет!

Знатокам C++ это конечно всё очевидно и естественно, а вот я как-то привык, что знаковое переполнение в С++ не приводит к настоящему неопределенному поведению на конкретной платформе. То есть понятно, что в зависимости от big-endianness/little-endian результат может получиться разным.

Случайно нашел пример забавного поведения:

#include <iostream>
int main()
{
    for (int i = 0; i < 300; i++)
        std::cout << i << " " << i * 12345678 << std::endl;
}

Этот код при компиляции с -O2 в современном g++ приводит к бесконечному циклу. Неожиданно, правда?

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

Теги g++, ub
  • Проголосовать: нравится
  • +257
  • Проголосовать: не нравится

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

19-го мая в 06:00 (московское время) начнется наиважнейшее событие спортивного программирования — Финал командного студенческого чемпионата мира по программированию ACM-ICPC 2016.

Лучшие 128 команд со всего мира примут участие в финале чемпионата. Эти команды прошли суровый отбор, ведь всего в чемпионате приняли участие 13422 команд из 2736 университетов со всех уголков земного шара!

Финал этого года проводится в Пхукете (Таиланд). Совсем скоро будут определены 12 команд медалистов чемпионата (4 золотых, 4 серебряных и 4 бронзовых медали) и, конечно, команда Чемпион Мира по программированию этого года.

По результатам полуфинала, прошедшего в Санкт-Петербурге в декабре 2016-го года, в этом году Россию представляют 12 команд из:

  • Уральского федерального университета
  • Санкт-Петербургского университета
  • Московского физико-технического института
  • Московского государственного университета
  • Санкт-Петербургского университета информационных технологий, механики и оптики
  • Нижегородского государственного университета
  • Саратовского государственного университета
  • Санкт-Петербургского академического университета
  • Университета Иннополис
  • Университета «МИФИ»
  • Северного (Арктического) федерального университета
  • Московского авиационного института

Ссылки для болельщиков:

Желаем командам собраться и продемонстрировать в финале чемпионата только свои лучшие стороны! Удачи!

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

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

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

Финал ACM-ICPC 2016 в самом разгаре! Команды и организаторы собрались в Таиланде. Погода отличная — ночью ливни, днем жара. Сезон дождей в действии. По-местному сейчас около двух ночи, но так как мне категорически не спится, я решил поделится впечатлениями и фотографиями с первых двух основных дней мероприятия.

В этом году расселение команд доставляет определенное неудобство — участники и тренеры живут в одном отеле, а все остальные члены делегаций живут в другом. Первый отель (Le Meridien), видимо, чуток получше — свой выход к океану и круглосуточный бассейн заставляют завидовать тех, кто живет в Mövenpick (да, как мороженое).



Le Meridien, фото с официального сайта отеля

Между отелями курсируют маршрутки, ехать примерно полчаса. Немного неудобно, что маршрутки ходят не все дни или как минимум не всегда, а по расписанию.

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

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

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

И снова здравствуйте!

Уже сегодня 5-го мая в 19:05 начнется очередной раунд Codeforces. Да-да, обратите внимание на нестандартное время старта.

Я воспользовался своим служебным положением и теперь вас ждет чуток экспериментальный раунд с расширенным набором задач. Возможно, опытным участникам (извините, Div 1) он покажется простым. В данном случае был сделан упор на основную целевую аудиторию раунда — в раунде будет много совсем несложных задач, но и даже топ второго дивизиона найдет кое-что интересное. Кроме того, одна из задач будет предложена в двух вариантах — в упрощенном варианте с маленькими ограничениями и в усложненном с ограничениями побольше. Таким образом, если вы сразу сообразите решение для больших ограничений, то можете написать один код на оба варианта.

Авторы задач — это я и fcspartakm. Надеемся, что вам понравятся задачи и будет весело и полезно!

Запланированная разбалловка такова:

  • A: 500
  • B: 750
  • C: 1000
  • D1: 1000
  • D2: 500 (то есть полное решение задачи D оценивается в 1500 баллов)
  • E: 2000
  • F: 2500

Удачи!

UPD: Как указали в комментариях с парой смежных задач D1/D2 есть тонкость со взломами.

  1. Для того, чтобы избежать ситуации, что участник заблокировал задачу D1 и подглядел в своей комнате решение к D2, вы сможете блокировать задачи D1/D2 только парно одновременно и только в том случае, если сдали как D1 так и D2. Иными словами, возможность блокировки D1/D2 появляется после сдачи обеих подзадач, блокировка осуществляется одновременно по обеим подзадачам.

  2. Для того, чтобы избежать двойного вознаграждения за взлом как D1, так и D2 у одного и того же участника, участник A в случае успешного взлома участника B по задаче D1 теряет возможность взламывать B по D2. Аналогично, если участник A успешно взломал участника B по задаче D2, то A теряет возможность взламывать B по D1.

UPD 2: Раунд завершен. Поздравляем победителей. Вот герои сегодняшнего дня.

топ-5 официальных участников:

  1. xlk200
  2. TableEnterer_Lin
  3. cykhhq595
  4. xxxholic
  5. A_Navie_Moer

топ-5 внеконкурсных участников:

  1. anta
  2. -XraY-
  3. Um_nik
  4. halyavin
  5. Enchom

UPD 3: Опубликован разбор задач.

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

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

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

Добрый день!

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

Я рад представить вам авторский подпроект Codeforces, с незатейливым кодовым названием Codeforces::News. Этот подпроект будет поддерживать и вести студентка факультета КНиИТ (компьютерных наук и информационных технологий) Саратовского государственного университета Ксения gKseni Гусева. Как говорится, прошу любить и жаловать! Ксения пока еще не капитально погружена в жизнь и новости спортивного программирования, но с моей и вашей помощью быстренько восполнит этот пробел. В наших планах — регулярные небольшие тематические новости, иногда анонсы, шутки и напоминания о мероприятиях. Если хорошо пойдет и будет потребность, то будем ретранслировать в соцсети, но пока сделаем небольшой раздел на страницах Codeforces.

Первое время новости будут только на русском языке, а как процесс встанет на понятные рельсы, то многие новости будем переводить и на английский. Надеюсь, вам станет интереснее регулярно заходить на Codeforces, а Ксения постарается чтобы так и было. Кто знает, чем закончится эта затея? Может через несколько лет у нас будет своя редакция и периодическое издание “Codeforces Times”.

М.

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

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

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

Сегодня, 25-го апреля в 18:00, начнется VK Cup 2016 - Уайлд-кард раунд 2.

Участникам раунда будет предложено максимально продвинуться в решении одной сложной и необычной задачи. Официально в этом раунде смогут принять участие команды чемпионата VK Cup 2016, которые прошли в Раунд 2, но не оказались среди тех топ-100 лучших по его результатам, кто проходит в Раунд 3. Кроме того, этот раунд будет открыт для всех желающих для неофициального участия вне чемпионата. Зарегистрироваться на раунд можно будет в любое время пока он идет.

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

Удачи!

UPD 1: К сожалению, выяснилось, что большинство текущих тестов были недостаточно разнообразны и не покрывали различные сценарии работы тестирующих систем. Тесты в системе были обновлены, все решения будут перетестированы. Возможно, процесс перетестирования займет существенное время. Кроме того, была обновлена функция начисления баллов (её монотонность сохранена). По этой причине порядок начисленных баллов уменьшился. В условие добавлено ограничение на количество попыток (до 20000). Ознакомьтесь с обновленным условие задачи для выяснения подробностей.

UPD 2: Системное тестирование завершено. Поздравляем победителей! Напоминаем, что лучшие 20 команд будут приглашены в Раунд 3, который начнется 7 мая в 18:05.

UPD 3: Тестирование завершено! С учетом дополнительного тестирования, следующие команды завоевали право участия в Раунде 3:

  1. Geisterkirche, aan93
  2. komendart, zloyplace35
  3. Arthur, Ferathorn
  4. slava.sh
  5. Lo_R_D, vas.and.tor
  6. mHuman, stas99
  7. pashaD4RW1N, krock21
  8. Kaban-5, pavel.savchenkov
  9. magnickolas, sslotin
  10. BotanIQ, agsagds
  11. sergileon, Auster
  12. reconst, Raven_gg
  13. Naduxa, DimonK
  14. Infoshoc
  15. KingArthur, awoo
  16. WiBk, alex700
  17. Jace_Beleren, Jovfer
  18. diko, Omrigan
  19. jvmusin, NikitaMikhaylov
  20. MrDindows, I_love_Tanya_Romanova
  21. nijikilling, maxplus
  22. aytel, kokokostya
  23. kuzmichev_dima, Timur_Keks
  24. tyamgin, Sokolov
  25. Mogby
  26. alex_chukharev, dashakisik
  27. alex.tsitsura
  28. WasylF, stostap
  29. passick, yurboss

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

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

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

Привет!

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

Были даже комментарии из серии "я же говорил, что так и будет"

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

    private double getSeed(List<Contestant> contestants, Contestant contestant, int rating) {
        Contestant extraContestant = new Contestant(null, 0, 0, rating);
        double result = 1;
        for (Contestant other : contestants) {
            result += getEloWinProbability(other, extraContestant);
        }
        return result;
    }

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

        for (Contestant other : contestants) {
            if (other != contestant) {
                result += getEloWinProbability(other, extraContestant);
            }
        }

Этот баг приводил к тому, что занимая первое место tourist фактически побеждал одного очень серьезного противника. Себя самого. Это приводило к значительному росту его рейтинга, даже если первое место было довольно ожидаемым.

Хорошая новость состоит в том, что этот баг оказывал статистически значимый эффект лишь в очень редких случаях: когда победитель (или близкий к победителю участник) и так имел очень большой рейтинг (да-да, обратное для "антигероев" тоже верно). Если взять произвольный раунд и пересчитать рейтинг по исправленным формулам, то практически все участники получат в точности (или очень близкое) изменение рейтинга.

Посоветовавшись с tourist и Petr, я пришел с следующему плану действий:

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

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

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

М.

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

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

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

Раскопал в старых вещах:

А какая у вас самая старая (или может ценная) футболка с олимпиад?

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

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

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

Добрый день.

26-го марта в 10:00 (московское время) стартует Отборочный Раунд 2 чемпионата Технокубок 2016. Раунд будет длиться два часа, участникам будут предложены 5 задач. По его результатам лучшие 150 участников (но не более 45% от общего числа участников раунда) будут приглашены на финальный этап в Москву. Для регистрации на раунд и участия перейдите по ссылке http://codeforces.com/contests/649. Не забудьте заранее зарегистрироваться на раунд. Впрочем, если забудете — не беда. Через 10 минут после старта будет открыта дополнительная регистрация для опоздавших (ее длительность — 100 минут).

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

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

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

Зарегистрироваться на олимпиаду →

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

Второй отборочный раунд будет открыт для всех тех, кто не прошел в финальный этап из первого отборочного раунда. Причина (не участие или недостаточный результат) — не важна.

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

UPD 1: Раунд будет рейтинговым для всех участников олимпиады "Технокубок", то есть как для официальных участников раунда, так и участников вне конкурса.

UPD 2: Дорешивание доступно в Тренировках: 2016 Технокубок: Отборочный Раунд 2.

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

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

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

24-го марта в 09:00 (московское время) стартовал Ознакомительный Раунд 2. Его продолжительность составит двое суток, его результаты не будут как-либо влиять на прохождение в следующие этапы. Его единственная цель — дать вам возможность ознакомиться с платформой Codeforces и её тестирующей системой. Приглашаем вас принять в нём участие! Для участия перейдите по ссылке http://codeforces.com/contests/647. Раунд будет содержать несколько несложных ознакомительных задач и будет открыт для официальных участников Технокубка.

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

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

Напоминаем, что еще открыта регистрация на олимпиаду для школьников Технокубок. Mail.Ru Group совместно с МФТИ, МГТУ им. Н. Э. Баумана и Codeforces в этом году впервые проводит Технокубок — первую совместную олимпиаду по программированию для школьников. На кону — дополнительные баллы при поступлении в престижные технические вузы России и ценные призы.

Зарегистрироваться на олимпиаду!

В финал соревнования будут приглашены лучшие 150 участников каждого из отборочных раундов (но не более 45% от общего числа участников раунда).
Первый отборочный раунд уже состоялся, а второй начнется 26 марта (суббота) в 10:00.

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

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

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

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

Добрый день.

Теперь пропустить раунд из-за невнимательности при регистрации станет сложнее. В ближайшие раунды в экспериментальном режиме будет запущена функциональность дополнительной регистрации (может надо называть как-то по-другому: расширенной регистрации?).

Это означает, что после окончания периода основной регистрации (как обычно, за 5 минут до старта раунда) будет еще один дополнительный период. Он будет начинаться через 10 минут после старта раунда и закончится через 20 минут, то есть после 30 минут от старта раунда. Роль 10 минут двойная:

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

При регистрации в период дополнительного времени участник автоматически отправляется в случайную из комнат (среди подходящих под его роль).

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

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

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

Добрый день.

23-го марта в 18:00 (московское время) стартует Отборочный Раунд 1 чемпионата Технокубок 2016. Раунд будет длиться два часа, участникам будут предложены 5 задач. По его результатам лучшие 150 участников (но не более 45% от общего числа участников раунда) будут приглашены на финальный этап в Москву. Для регистрации на раунд и участия перейдите по ссылке http://codeforces.com/contests/648. Не забудьте заранее зарегистрироваться на раунд. Впрочем, если забудете — не беда. Через 10 минут после старта будет открыта дополнительная регистрация для опоздавших (ее длительность — 20 минут).

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

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

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

Зарегистрироваться на олимпиаду →

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

Второй отборочный раунд будет открыт для всех тех, кто не прошел в финальный этап из первого отборочного раунда. Причина (не участие или недостаточный результат) — не важна. Второй отборочный раунд состоится 26 марта 10:00-12:00.

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

UPD 1: Раунд будет являться рейтинговым соревнованием, то есть на основании его результатов будут пересчитаны рейтинги участников.

UPD 2: Соревнование закончено, спасибо за участие! Поздравляем топ-150 с приглашением в Финал олимпиады. Скоро вам будет отослано письмо с формой участника, пожалуйста, не задерживайте с заполнением.

UPD 3: В силу ряда причин дорешивать задачи можно в Тренировках: 2016 Технокубок: Отборочный Раунд 1, приношу извинения за некоторое неудобство.

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

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

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

Добрый день.

21-го марта в 17:00 (московское время) стартует Ознакомительный Раунд 1. Его продолжительность составит двое суток, его результаты не будут как-либо влиять на прохождение в следующие этапы. Его единственная цель — дать вам возможность ознакомиться с платформой Codeforces и её тестирующей системой. Приглашаем вас принять в нём участие! Для участия перейдите по ссылке http://codeforces.com/contests/646. Раунд будет содержать несколько несложных ознакомительных задач и будет открыт для официальных участников Технокубка.

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

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

Напоминаем, что еще открыта регистрация на олимпиаду для школьников Технокубок. Mail.Ru Group совместно с МФТИ, МГТУ им. Н. Э. Баумана и Codeforces в этом году впервые проводит Технокубок — первую совместную олимпиаду по программированию для школьников. На кону — дополнительные баллы при поступлении в престижные технические вузы России и ценные призы.

Зарегистрироваться на олимпиаду!

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

  • первый отборочный раунд: 23 марта 18:00-20:00
  • второй отборочный раунд: 26 марта 10:00-12:00

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

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

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

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

Совсем скоро стартует Квалификационный раунд Чемпионата по программированию "КРОК 2016". Раунд будет идти двое суток, мы надеемся каждый сможет найти удобное себе время для участия. Этап начнется 16 марта в 12:00 (московское время).

Подробнее о Чемпионате можно прочитать по ссылке http://codeforces.com/blog/entry/43229

Чтобы принять участие в Чемпионате официально необходимо зарегистрироваться по адресу http://codeforces.com/croc2016/register Общий список зарегистрированных на Чемпионат доступен по ссылке.

Чтобы пройти в Раунд 1 вам надо принять участие в квалификации. Из квалификационного раунда в Раунд 1 пройдут все участники, набравшие положительное количество баллов. В раунде вас ждут несколько задач, примерно расположенных по возрастанию сложности. Во время квалификации задачи тестируются системой только на претестах, а системное тестирование состоится после окончания квалификации (т.е. всех 48-и часов мероприятия). Претесты не покрывают все возможные случаи входных данных, так что тщательно тестируйте свои программы! Взломов, падения стоимости задач во время квалификации нет.

Раунд продлится 48 часов, но это не значит, что мы призываем вас все это время провести за решением задач. Мы надеемся, что большинство участников справятся с задачами (или с большинством задач) за более короткий срок. Такая длительность раунда выбрана для того, чтобы каждый нашел удобное время для участия. Задачи будут доступны на русском и английском языках.

До окончания раунда категорически запрещается публиковать где-либо условия задач/решения/какие-либо мысли и соображения о них. Запрещено общаться на тему задач, обсуждать условия и проч. Будьте честными и пусть в Раунд 1 пройдут достойные. Как только квалификация будет завершена, можно будет обсуждать задачи и решения.

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

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

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

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

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

Привет, Codeforces!

Весной 2016 года компания КРОК совместно с площадкой Codeforces проведет свой уже третий по счету Всероссийский Открытый чемпионат по программированию «КРОК – 2016». Цель этого проекта, как и прежде, — поощрение самых талантливых и прогрессивных молодых специалистов и стимулирование интереса к сфере информационных технологий.

Компания КРОК традиционно уделяет огромное внимание социальным проектам, связанным с развитием ИТ-отрасли, продвижением ИТ-профессий и повышением интереса к современным технологиям. У КРОК богатый опыт сотрудничества С ВУЗами, организации курсов, семинаров и олимпиад для школьников, студентов и опытных специалистов.

Регистрация на чемпионат откроется 1 марта на странице чемпионата на площадке Codeforces и продлится до окончания квалификации 16-го марта. Участником Всероссийского Открытого чемпионата по программированию «КРОК – 2016» может стать любой желающий вне зависимости от гражданства, места жительства и уровня образования. Участникам Чемпионата предстоит пройти два тура: дистанционный тур, который состоится в начале марта и финал, в котором сразятся 50 сильнейших участников в Москве 15 апреля. Участникам Финала КРОК-2016 будут покрыты транспортные расходы на сумму не более 10000 рублей (предполагается проезд обыкновенным купейным вагоном, либо, по согласованию, эконом-перелет самолетом). До 25-го марта необходимо подтвердить желание и возможность принять участие в финале в Москву.

Финалистов будет ждать теплый прием, встреча с организаторами мероприятия и экспертами по разработке программного обеспечения в КРОК, праздничный фуршет, увлекательный игровой раунд и отличные призы и подарки. Предыдущий чемпионат по программированию КРОК прошел в 2013 году и собрал 3500 программистов со всей России, из стран СНГ и других стран.

Призы

  • 1 место — 100000 рублей
  • 2 местo — 70000 рублей
  • 3 местo — 50000 рублей

Победитель игрового тура получит ноутбук.

Расписание этапов чемпионата

  • Квалификационный раунд – 16 марта
  • Отборочный раунд – 18 марта
  • Финал чемпионата состоится 15 апреля в Москве в офисе компании КРОК (50 участников)

Все раунды Чемпионата будут открыты для внеконкурсного участия для всей аудитории Codeforces. Отборочный раунд и Финал будут рейтинговыми раундами как для официальных участников, так и всех остальных.

Регистрация

Чтобы принять участие в чемпионате необходимо пройти регистрацию на странице регистрации Чемпионата. Регистрация будет открыта до окончания квалификации. Соревнуйся с лучшими программистами на Открытом Чемпионате "КРОК-2016"!



Зарегистрироваться!


История чемпионатов КРОК

Предстоящий чемпионат станет третьим по счету чемпионатом, проведенным компанией КРОК на площадке Codeforces. С информацией о чемпионатах вы можете ознакомиться, перейдя по ссылкам ниже:

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

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

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

Всем привет!

13 марта в 15:00 начнется первый квалификационный раунд чемпионата VK Cup 2016!

Раунд продлится 24 часа, такая продолжительность выбрана для того, чтобы все нашли себе удобное время для участия. Квалификационный раунд, как и все предстоящие раунды, требует отдельной регистрации. Регистрация уже открыта и будет открыта на протяжении всего раунда.

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

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

Чтобы пройти в Раунд 1, вам надо принять участие хотя бы в одной из квалификаций. Из каждой квалификации в Раунд 1 проходят все команды с положительным числом баллов, которые набрали не меньше баллов, чем команда на 500-ом месте.

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

Категорически запрещается публиковать где-либо условия задач/решения/какие-либо мысли и соображения о них до окончания раунда. Запрещено обсуждать задачи с кем-либо кроме вашего сокомандника. Будьте честны, пусть в Раунд 1 пройдут сильнейшие!

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

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

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

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

Hello!

Recently there were some comments about unexpected MLE verdict for Java solutions.

Now we experimentally run Java with the following command line (it is a part relevant to memory): -XX:NewRatio=5 -Xms8M -Xmx<ML> -Xss64M.

It is good to know that default java GC divides heap to generations (areas) and tenured (old) generation is less than entire heap size. We use -XX:NewRatio=5 to increase the tenured generation size. For example, if memory limit is 256M then tenured generation is about 200MB. For example, it means that you can not allocate array of size 210MB in your program. Note, that without -XX:NewRatio=5 the tenured generation size is ~170MB.

Also I tried option to use G1 garbage collector, but it seems it works much slower for programming competition codes.

If you want to suggest improvements, please test your suggestion on the following cases:

Note, we use javaagent for JVM to intercept java.lang.OutOfMemoryException exceptions and return them as MLE verdict. It doesn't affect StackOverflowException or any other exception.

Also we use hard memory limit per process (because of possible off-heap allocations) which is about 20MB larger than ML (~20MB is memory consumed by simple almost empty solution).

BTW, what options use Yandex.Contest, ejudge, PCMS2 and other judges to run Java?

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

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

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

Привет, Codeforces!

Мы с радостью сообщаем вам, что компания ВКонтакте совместно с площадкой Codeforces вновь проводит чемпионат VK Cup. К участию в VK Cup 2016 допускаются команды до двух человек, так как практика парного программирования широко распространена во всем мире, в том числе и ВКонтакте. За призы и звание победителя приглашается побороться русскоязычным молодым специалистам, студентам, школьникам и просто любителям алгоритмов и программирования.

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

  • 1 место — 1048576 рублей
  • 2 местo — 524288 рублей
  • 3 местo — 262144 рубля
  • 4-8 места — 131072 рубля

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

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

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

В 16:00 (московское время) 4 марта 2016 г. Mail.Ru Group совместно с МФТИ, МГТУ им. Н. Э. Баумана и Codeforces запускает Технокубок — первую совместную олимпиаду по программированию для школьников. На кону — дополнительные баллы при поступлении в престижные технические вузы России и ценные призы.

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

Организаторы олимпиады


Московский физико-технический институт


Московский Государственный Технический Университет им. Н. Э. Баумана


IT.Mail.Ru


Codeforces

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

Этапы соревнования

Ознакомительные раунды
21 марта 00:00 — 23 марта 17:00, 24 марта 00:00 — 26 марта 11:00

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

**Отборочный (онлайн) этап **
23 марта 18:00 — 20:00, 26 марта 10:00 — 12:00

Пользователи могут участвовать как и в первом, так и во втором онлайн-раунде. Лучшие 150 участников каждого из онлайн-раундов будут приглашены к участию в заключительном этапе, но не более 45% от общего числа участников раунда. До 5 апреля приглашенные в заключительный этап должны подтвердить желание и возможность участия в нем. В случае отсутствия подтверждения, жюри может пригласить следующего участника по результатам соответствующего онлайн-раунда.

Заключительный (очный) этап в МГТУ им. Н. Э. Баумана и МФТИ
17 апреля

Заключительный этап будет проходить очно на площадках вузов. Участники, прошедшие онлайн-этап, побывают в лучших технических вузах страны и смогут получить ответы на вопросы по поводу поступления. Награждение пройдет в тот же день в офисе Mail.Ru Group, для победителей и призеров будет организован трансфер с площадок вузов. Победители и призеры олимпиады познакомятся со специалистами крупнейшей IT-компании в России, а также узнают про возможности карьерного роста в IT-сфере для абитуриентов МФТИ и МГТУ им. Н. Э. Баумана. Проживание и проезд осуществляется за счет участников. При наличии возможности по решению Оргкомитета возможна частичная оплата расходов на проживание. Для остальных мы подберем рекомендации по проживанию за невысокую цену близ площадок вузов.

Призы

Дополнительные баллы в МФТИ и МГТУ им. Н. Э. Баумана:

  • Победителям (диплом I степени) — 8 баллов
  • Призерам (диплом II, III степени) — 6 баллов

Всего будут награждены не более трети участников заключительного этапа.

Ценные призы:

  • 1 место iPad mini 2 + Технокубок
  • 2 место iPod nano
  • 3 место iPod shuffle

Регистрация начнется в 16:00 (московское время) 4 марта на сайте: https://it.mail.ru/technocup/

Сразитесь за звание самого талантливого молодого программиста и за право стать первым обладателем Технокубка!

Олимпиада проходит по правилам раундов Codeforces.

Чемпионат Технокубок входит в число инициатив Mail.Ru Group, направленных на развитие российской IT-отрасли и объединённых ресурсом It.Mail.Ru. Платформа It.Mail.Ru создана для тех, кто увлекается IT и стремится профессионально развиваться в этой сфере. Проект объединяет чемпионаты Russian AI Cup, Russian Code Cup и Russian Developers Cup, образовательные проекты Технопарк в МГТУ им. Баумана, Техносфера в МГУ им. М.В. Ломоносова и Технотрек в МФТИ. Кроме того, на It.Mail.Ru можно с помощью тестов проверить свои знания по популярным языкам программирования, узнать важные новости из мира IT, посетить или посмотреть трансляции с профильных мероприятий и лекции на IT-тематику.

*Дополнительные баллы могут получить учащиеся 8 – 11-х классов образовательных учреждений. Действие льготы — 4 года.

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

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

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

Привет.

Если вы еще думаете, стоит ли участвовать в новом чемпионате КРОК (я-то уверен, что надо быстрее регистрироваться!), то посмотрите ролики КРОК о чемпионате (или для чемпионата) 2013-го года.

А вот в таких роликах в качестве актеров поучаствовали организаторы чемпионата того года:

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

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

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

По всей России идет первый тур олимпиады. Болеем за ребят! Напоминаю, что что-либо спойлерить до окончания нельзя.

Интересно, в каких областях как проводят? Почти все на Яндекс-Контесте? Как впечатления?

Саратов проводит на отдельном интерфейсе для Codeforces, выглядит так:

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

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