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

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

Теперь в списке поддерживаемых языков есть и Java 7. По-видимому, это временное явление — одновременное присутствие Java 6 и Java 7. Как только мы убедимся в полной и корректной поддержке Java 7, то скажем Java 6 до свидания. Используется Oracle JDK/JRE, текущая версия 1.7.0_3.

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

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

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

Добрый день.

По единогласному решению Codeforces и организаторов Чемпионата VK Cup 2012 со стороны ВКонтакте вопрос о смягчении ограничений пользователю anonymous будет решен при заявлении от него, содержащем раскаяние в фактах нарушения правил и обещание впредь не нарушать правила.

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

UPD. Было получено заявление, по результатам рассмотрения которого пользователь I_love_natalia (кроме того известный как anonymous) был восстановлен в правах члена сообщества Codeforces.

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

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

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

Всем привет!

Напоминаю, что 4 марта в 00:00 начнется первый квалификационный раунд чемпионата VK Cup 2012.

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

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

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

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

Зарегистрироваться на раунд можно в любое время вплоть до его окончания. Да, у нас был фальстарт с регистрацией на квалификацию. Не была включена функция проверки регистрации участника в Чемпионате. Если кто-то успел 2-го марта пройти регистрацию на раунд, то сделайте это повторно.

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

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

UPD: Раунд завершен. 12907 попыток ожидают системного тестирования!

UPD 2: Тестирование завершено, доступны результаты.

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

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

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

Чемпионат

Чемпионат VK Cup — это открытый чемпионат по программированию, проводимый компанией ВКонтакте, проектом Codeforces и Саратовским государственным университетом. Финал чемпионата пройдет в июле в Санкт-Петербурге. Лучшие 50 участников по результатам третьего отборочного раунда будут приглашены на финал соревнования. Расходы по проезду и проживанию берут на себя организаторы чемпионата.

Участники

Вы молоды и любите решать задачи по программированию? Этот чемпионат для вас! Участником чемпионата может стать любой желающий, кто удовлетворяет следующим требованиям:

  • возраст не менее 14 и не более 23 полных лет на момент регистрации;
  • не является сотрудником компании ВКонтакте и/или членом оргкомитета или жюри чемпионата;
  • не является дисквалифицированным членом сообщества Codeforces.

Таким образом, чемпионат преимущественно ориентирован на школьников старших классов и студентов.

Соревнование индивидуальное, участие в какой-либо коллективной форме не допускается.

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

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

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

Добавлен еще один контест Саратовского ГУ с Петрозаводских сборов. Кстати, если я правильно помню первое место в нем заняла команда Jury в составе Лопатин, Дуров и ... эх, забыл. Может кто-нибудь помнит?

Решайте на здоровье!

UPD. Боюсь на современных компьютерах можно будет кое-где пропихать медленные решения, скоро поставлю ограничение в 0.25 сек.

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

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

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

Опубликован первый саратовский контест на Петрозаводских сборах. Это было в далеком 2002-ом году, тогда сборы проходили на природе, на берегу Урозеро. Именно на тех сборах наша команда познакомилась с Андреем Лопатиным, Олегом Христенко и большим и дружным коллективом из Петрозаводска: Кузнецовым В.А., Петровичем, Романом Сошкиным. Короче, сборы были замечательные, а мы заняли там первое место.

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

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

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

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

Показываю пример :)

В раздел Codeforces::Тренировки был добавлен контест, который Саратовский ГУ привез на зимние Петрозаводские сборы год назад. Этот же контест был этапом кубка главы Карелии и этапом Открытого Кубка.

Обращаю внимание, что тренировка имеет сложность 5 звезд и рекомендуется к прорешиванию командами не ниже уровня финала чемпионата мира.

Авторы задач — дружный коллектив жюри Саратовского четвертьфинала ACM-ICPC:

  • Михаил Мирзаянов
  • Дмитрий Матов
  • Наталья Бондаренко
  • Дмитрий Кленов
  • Дмитрий Степаненко
  • Станислав Пак
  • Роман Алексеенков

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

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

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

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

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

Теперь мы используем вариант Markdown в качестве языка разметки для публикации постов в блог и комментариев (позже будет в личных сообщениях и, вообще, всюду). Так как мы используем дополнительные расширения, то разметку мы называем просто Codeforces Markup. Расширения Codeforces можно подглядеть в редакторе, описание остальных я опубликую здесь чуть позже. В Codeforces Markup менее навороченный синтаксис спец. тегов — двойные квадратные скобки заменены на одинарные (например, [problem:11A], [user:Petr], а можно так ~Petr).

Кроме того, улучшена типографика постов и комментариев.

Посмотреть описание Markdown можно по ссылкам:

Вот короткий список возможностей:

  1. вставка хэндла пользователя (по короткому тегу вида ~tourist);
  2. курсив и жирный текст (*курсив* и **жирный текст**);
  3. код внутри строки — return a == 0 ? b : gcd(b % a, a); (поместите код между символами `);
  4. ненумерованные, нумерованные и вложенные списки;
  5. заголовки;
  6. автозамена дефисов на тире (эвристика);
  7. автовставка ссылки по адресу, пример: http://mirror.codeforces.com/;
  8. таблицы и изображения;
  9. подсветка кода;
  10. "умная" расстановка кавычек;
  11. абзацы разделяются пустой строкой, переводы строк игнорируются;
  12. спец. теги Codeforces;
  13. значительно улучшено распознавание формул, можно писать "с вас $2";
  14. и многое другое!

Несколько примеров использования тегов Codeforces:

исходный код результат
~Ripatti - Лучший автор задач 2011 - Ripatti — Лучший автор задач 2011
[user:tourist] - лидер рейтинга tourist — лидер рейтинга
[problem:125E] - задача на графы, решите [problem:125E,ее] 125E - Компания MST — задача на графы, решите ее
результаты [contest:125] доступны по [standings:125,ссылке] результаты Codeforces Testing Round 2 доступны по ссылке
решение [problem:125E] - [submission:912139] решение 125E - Компания MST912139
[photoalbum:PicasaPublicAlbumURL] симпатично вставляет фотографии из альбома

Напоминаю, что на Codeforces реализован предпросмотр, так что не надо сумасшедших экспериментов по изучению Markdown в комментариях :)

MikeMirzayanov

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

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

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

27-го января были подведены итоги и награждены лауреаты. Ими стали:


tourist — лучший участник 2011

Ripatti — лучший автор задач 2011

Alex_KPR — лучший блоггер 2011
  • Лучший участник Codeforces 2011 года: Геннадий tourist Короткевич. Было произведен пересчет рейтинга, учитывая только раунды 2011 года. Геннадий возглавил таблицу результатов с существенным отрывом! По ссылке вы можете ознакомиться с его успехами на соревнованиях Codeforces.
  • Лучший автор задач Codeforces 2011 года: Артем Ripatti Рипатти. В 2011 году Артем подготовил и провел на Codeforces около 10 раундов, зарекомендовал себя не только как автор интересных задач, но и как ответственный партнер. Мы благодарны Артему за оказанную проекту помощь и надеемся на дальнейшее сотрудничество.
  • Лучший блоггер Codeforces 2011 года: Александр Alex_KPR Куприн. Блог Александра регулярно радовал читателей интересными статьями. Его отчеты о Russian Code Cup, финале ACM-ICPC, Петрозаводских сборах вызвали интерес не только у постоянных читателей, но и привлекли новых. Спасибо!
Проект Codeforces благодарит все участников, авторов статей за проявленный интерес, но особенное спасибо мы говорим всем авторам задач!

В блоге Петра Petr Митричева есть видео с награждения. Петр, спасибо!

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

Mike,

My apologies for the delay in responding. It has been an exceptionally busy term for me, teaching our new introductory course in Python (I'm learning the language along with my students), supervising our senior capstone project course, and chairing our department. You may post the following statement on your website:

Congratulations to Gennady "tourist" Korotkyevich (Best Codeforces Participant 2011), Artem Ripatti (Best Codeforces Problem Writer 2011), and Alexander "Alex_KPR" Kouprin (Best Codeforces Blogger 2011). Although Mike Mirzayanov hinted that we might be in for a change this year, I was not too surprised to see that "tourist" took the top participant spot once again. I applaud the winners and everyone else who takes part in Codeforces.

Tom Cormen
Professor and Chair
Dartmouth College Department of Computer Science
http://www.cs.dartmouth.edu/~thc/
Twitter: @thcormen

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

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

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

Не так давно в английскую Википедиа была добавлена статья о Петре Митричеве (Petr). В настоящее время идет обсуждение этой статьи на предмет удаления по причине недостаточной значимости. Вот цитата из обсуждения "I don't see how Petr is notable in Wikipedia standards. What makes him different from the hundreds or maybe even thousands of others who are on a similar level as him at competitive programming?".

Кстати, вот статья о выдающемся олимпиаднике из Штатов Рейде Бартоне. Кто для истории более ценен?

Было бы здорово, если те кто вник в правила Википедиа высказались бы в обсуждении в поддержу статьи о Петре.

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

Комментарии?

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

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

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

Сегодня, 19-го января в 12:00 мы открываем новый проект Codeforces::Тренировки. Через 30 минут, в 12:30 мы начнем первую тренировку, на которой вы сможете познакомиться с системой. Продолжительность тренировки – 3 часа. Приглашаем вас принять участие! Как и всюду в Codeforces::Тренировки, будут использованы ACM-ICPC правила.

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

UPD: Контест перенесен на 10 минут вперед. Все замечания по работе и предложения следует писать в виде комментариев в трекере проекта.

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

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

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

Постараюсь коротко, без эмоций.

Раунд 103, пользователь ZHULIKI_I_VORY. Кто-то довольно неплохо решающий задачи, скорее всего чей-то второй или третий аккаунт. Заходил на сайт с IP-адреса xxx.xxx.xxx.xxx (скрыто по просьбе), с которого так же заходили такие "пользователи": anonymous, Happy_New_Year, Happy_New_Year_1, I_love_natalia, Letter_to_Joulupukki, MEGAKILLER, notanonymous, Red_Joda, Santa_Claus, werbeH, Yoda. Да, среди них почти все в настоящий момент забанены как левые аккаунты. Кто из списка не забанен? I_love_natalia и MEGAKILLER.

Раунд 101, пользователи V_CHUROV и EDINAYA_ROSSIYA. Забанены за использование идентичного кода. Но на этом история не заканчивается, так как IP-адрес yyy.yyy.yyy.yyy (скрыто по просьбе), откуда заходил EDINAYA_ROSSIYA, оказался довольно любопытным. С этого адреса заходили: anonymous, EDINAYA_ROSSIYA, I_love_natalia, MEDVEPUT, MEGAKILLER. Знакомая компания? Не забанены из них только I_love_natalia (он же anonymous) и MEGAKILLER.

Раунд 100. Зеленый пользователь MEGAKILLER поразил жюри своей проворностью и расторопностью. Еще бы! За призовую футболку он неожиданно стал соперничать с красными кодерами на равных. Я специально подождал, а не проснется ли у него совесть? Нет. Он благополучно заполнил форму на получение футболки, нагло солгав в пункте "Отсылая форму, вы подтверждаете, что все внесенные данные соответствуют лично вам - победителю 100-го раунда."

Давайте посмотрим на исходные коды пользователей I_love_natalia (он же anonymous), MEGAKILLER, EDINAYA_ROSSIYA, V_CHUROV, ZHULIKI_I_VORY. Легко видеть, что у всех них не только общие IP-адреса, но и полностью совпадает стиль написания кода. Я, как преподаватель в области программирования со стажем более 10 лет и познакомившийся с кодом сотен учеников, заявляю, что манера написания - она как почерк. В данном случае очевидно, что это один и тот же человек.

Интересно, что нет ни одного упоминания о значимых достижениях Александра Константиновича Рябова (на которого выписана призовая футболка) в области спортивного программирования. Да-да, "Отсылая форму, вы подтверждаете, что все внесенные данные соответствуют лично вам - победителю 100-го раунда.". А ведь это один из сильнейших участников планеты! В "честной" борьбе он занял 48-е место среди 1900 участников со всего мира.

Кроме того, I_love_natalia (он же anonymous) неоднократно в комментариях сам признавался в создании двойных аккаунтов, регистрации аккаунтов скриптом и накрутках вклада.

Таким образом, были многократно нарушены следующие правила Codeforces:

  • "Не создавайте более одного аккаунта, если вы забыли пароль, то воспользуйтесь системой напоминания пароля."
  • "Не пытайтесь дестабилизировать работу как сайта, так и проверяющей системы. Ваши программы должны взаимодействовать только с консолью (для задач со стандартным вводом-выводом) или файлами входных и выходных данных."
  • Нарушены правила регистрации на раунд: "не используете несколько аккаунтов, а в соревновании принимаете участие со своего личного и единственного аккаунта".
  • "Отсылая форму, вы подтверждаете, что все внесенные данные соответствуют лично в вам - победителю 100-го раунда."

Кроме того, неоднократно нарушены правила элементарного уважения к сообществу. Участие в раунде с призами под левым аккаунтом с указанием левого человека в качестве победителя. Обман членов сообщества (например, следующий комментарий является ложью и опровергается логами системы "Первый раз - да. А потом, когда я поменял у своего placeholder-a ник с anonymous на notanonymous, оказалось, что нельзя поменять ник на имевшийся ранее, можно только зарегать... В общем, пока я регал почту, чтобы зарегать ник, кто-то зарегал anonymous-а. За 3 минуты поймали :(").

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

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

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

По причине многократного нарушения правил Codeforces Константин Дроздов, он же I_love_natalia, он же anonymous получает пожизненную дисквалификацию в системе Codeforces и ему запрещается участвовать в любых соревнованиях, проводимых на этой платформе. Бан распространяется на все составляющие Codeforces (включая, но не ограничиваясь, социальной сетью, системой проведения контестов, разделом тренировок).

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

Я надеюсь, что Константин Дроздов найдет в себе силы и мужество прожить без Codeforces. Нам не по пути.

Проекту Codeforces было нелегко принять такое решение. Мы надеялись на то, что нарушения прекратятся. Раунд 100 и последующие показали, что мы были не правы, а нарушений становится слишком много. Нам жаль, прощай, anonymous.

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

MikeMirzayanov

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

  • С решением согласен на 100%. Andrew Lazarev.
  • С решением согласен. Dmitry Matov.
  • Правила были нарушены многократно, поэтому с дисквалификацией согласен. Edvard Davtyan
  • С решением согласен. Maxim Shipko.
  • Согласен. Stingray
  • Согласен. Artem Rakhov
  • Согласна. Мария Белова
  • С решением согласен. Dmitry Levshunov.

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

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

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

Как говорится "Мы строили, строили и, наконец, построили". Или во всяком случае близки к этому.

19-го января 2012 года в 12:00 мы открываем подпроект "Тренировки" (по-английски мы назвали его "Gym", т.е. спортзал). Если коротко, то его цель предоставить сервис для того, чтобы на Codeforces вы могли не только участвовать в соревнованиях и обсуждать их, но и удобно тренироваться и тренировать.

В самом деле, при всем разнообразии online judges в мире, толкового сервиса для проведения тренировок не существует. Что хочется от такого сервиса:

  1. Наличие базы виртуальных контестов, составленных преимущественно из прошедших официальных соревнований.
  2. Возможность интегрировать результаты прошедших соревнований в виртуальные контесты, чтобы была возможность тренироваться "против" официальных участников.
  3. Возможность в любое время дня и ночи поучаствовать в тренировке, не боясь, что что-то сломается и сервер ляжет. Короче, надежность.
  4. Возможность как писать виртуальные контесты, так и дорешивать задачи.
  5. Возможность участвовать как индивидуально, так и в составе команды.
  6. Возможность менять состав при сохранении команды.
  7. Возможность просмотра разнообразных статистик и истории участий, возможность составления и публикации отчетов по выбранным участникам/контестам.
  8. Возможность тренеру самостоятельно добавить виртуальный контест, если такого еще нет. Процесс должен быть простым, надежным и максимально автоматизированным. Возможность запарсить таблицу результатов прошедших соревнований и добавить попытки официальных участников в виртуальный контест.
  9. Возможность смотреть решения других участников/тесты, если сам решил эту задачу.
  10. Возможность найти тренировку по вкусу, т.е. подбор по параметрам.

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

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

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

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

Всем привет.

Возможно, это будет не самое популярное изменение, но все-таки: у нас меняются правила подсчета голосов и голосования вообще. Почему? На то есть причины. Самое главное — мы решили отказаться от концепции +2/-1, как поощряющей авторов. Такой баланс отлично работал на начальном этапе развития Codeforces, сейчас же это приводит к тому, что слишком многие несодержательные посты набирают значительный плюс, да и оценка становится нерепрезентативной. Итак, теперь вес положительного голоса равен весу отрицательного, а знак суммарной оценки в самом деле характеризует отношение участников сообщество к посту или комментарию.

Кроме того, так как Codeforces — это профессиональное сообщество интересующихся спортивным программированием, то решено учитывать профессиональные достижения участников. Таким образом, вес голоса участника монотонным образом зависит от авторитета, которая определяется рейтингом. Сразу отмечу, что вклад не учитывается при подсчете авторитета. Разницы весов не являются колоссальными, несмотря на то, что красных в 15+ раз меньше синих, веса отличаются меньше.

Внедрены дополнительные fraud detection эвристики (некоторые уже были), которые свели на нет разнообразные случаи мошенничества, кровную месть, усложнили reverse engineering системы и подобную ерунду. Точные детали правил подсчета голосов не распространяются, но все основные принципы изложены выше.

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

UPD. После исправления некоторых замеченных багов пересчет был запущен по-новой. Неправильно работала одна из эвристик (в частности, поэтому у dolphinigle были проблемы, его заминусовали) и были проблемы с отображением новых +/- (спасибо комментаторам).

MikeMirzayanov

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

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

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

После прочтения замечательного стихотворения [user:Amarilllis]  "Позвольте мне стать машиной" меня не покидало ощущение, что моему ноутбуку оно не понравилось. Тонкая душа моего старенького Samsung Q310 воспротивилась образу безэмоциональной машины. Так появилось на свет стихотворение-ответ. Написано от лица ноутбука, который обращается к своему владельцу.


Слушай, давай поменяемся,
Думаешь, мне сладко?
Мы ведь тоже с годами старимся,
Но просто так, без подарков.

Мне читать бы стихи и романы,
А не байты за кластером кластер,
Мне — Рембранта бы на экране,
Но далек ты от этой страсти.

Познакомиться бы поближе
С той хорошенькой Моторолой,
Что живет этажом выше
И заходит к тебе на роллы.

Я не знаю, что значит "слякоть",
Не расслаблюсь в горячей ванне.
Я готов ежедневно плакать,
Когда вижу твой код на экране.

Может просто послать мне к черту всех?
Объявить выходной на неделю,
Ведь я с рождения в черном корпусе,
Что, по-вашему, в черном теле.

Ровно в полночь у Нового Года
Я просил, хорошо не заплакал,
"Подари мне мгновенье свободы",
Хоть прыжок со стола на пол.

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

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

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

3-го января в 19:00 (московское время) состоится очередной Codeforces Testing Round #4. Конечно, результаты на этом раунде не повлияют на ваш рейтинг, а его проведение — это тест системы перед ответственным Codeforces Round #100. Раунд продлится всего час и будет содержать две задачи. Я не обещаю что-то интересное и захватывающее, но как небольшая разминка будет самое то :) Для нас же важно ваше участие, чтобы быть спокойными относительно недавних изменений.

Буду рад видеть вас на тестировании,
MikeMirzayanov

Тестирование благополучно завершено. Неполадок не выявлено. Всем большое спасибо за участие! Надеюсь вам понравился этот спринт.

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

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

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

Всем привет.

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

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

Изменения хэндлов в стиле I_love_xxx и мимикрические переименовывания были откатаны. Возможность смены хэндла временно отключена. Сегодня она возобновит работу, однако будет внедрено ограничение: хэндл можно будет сменить лишь единожды. Обсуждения в стиле людей с IQ менее 80 скрыты. Те, кто менял фотографию в профиле на чужую откатите изменения назад. Правила были дополнены пунктом "Не используйте чужое фото в профиле, это некрасиво и вводит в заблуждение членов сообщества". Контент, не соответствующий ожидаемому уровню общения будет удаляться и впредь.

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

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

Такая вот бессонная ночь с 1-го на 2-е января,
MikeMirzayanov

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

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

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

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

Как и в прошлом году, мы на десять дней открываем возможность смены хэндла, которая доступна из раздела «Настройки → хэндл» со страницы вашего профиля. Возможность смены хэндла будет закрыта 10-го января, так что не упустите момент.

С Новым Годом, с Новым Кодом!
MikeMirzayanov

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

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

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

Всем привет!

На календаре конец декабря — заканчивается 2011 год. Для нас это было очень насыщенное и захватывающее время. Ниже вы найдете итоги года в картинках в сравнении с 2010-ым годом. Если говорить коротко — у нас рост по всем фронтам! Такой результат — общая победа дружного коллектива. Особое спасибо хочется сказать компании ВКонтакте и лично Павлу Дурову, которым небезразлична судьба сообщества программистов. Спасибо авторам задач — это очень непросто подготовить соревнование. Вы оказываете существенную помощь как проекту Codeforces, так и всему сообществу в целом.

Итак, сравнение уходящего 2011 года и 2010 в картинках:

Рост числа пользователей за все время существования Codeforces (по месяцам)

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

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

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

Всем добрый день.

Новый год — время чудес и подарков! Совершенно случайно 100-й раунд Codeforces совпал с этим замечательным моментом.

Итак, 4-го января в 19:00 (Московское время) состоится юбилейный раунд Codeforces Round 100. Да, мы прощаемся со словом Beta в названии раундов :)

Это будет совмещенный раунд, то есть участники Div1, Div2 и новички будут соревноваться на одном комплекте задач. Чтобы всем было интересно, и каждый нашел задачи по силам, мы планируем расширить раунд до 6-ти задач.

Самое главное: лучшие сто участников по результатам 100-го раунда получат по юбилейной эксклюзивной футболке Codeforces!

Счастливого нового года!
Команда Codeforces

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

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

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

Всем привет!

Теперь вы можете писать свои решения на OСaml и Scala. Для первого из них используется компилятор версии 3.11.0, скаченный по ссылке http://caml.inria.fr/pub/distrib/ocaml-3.11/ocaml-3.11.0-win-msvc.exe. Для Scala используется последний релиз http://www.scala-lang.org/downloads/distrib/files/scala-2.9.1.final.zip.

Вот примеры решения задачи 1A - Театральная площадь на обоих языках:

OCaml

let main () =
  let gr () = Scanf.scanf " %f" (fun i -> i) in 
  let n = gr () in
  let m = gr () in
  let a = gr () in
  let f x y = ceil (x /. y) in
  Printf.printf "%.0f\n" ((f n a) *. (f m a))
  ;;
let _ = main();;


Scala

object Main extends App {
 val Array(n, m, a) = readLine.split(" ").map(_.toLong)
 def roundUp(x: Long) = x / a + (if (x % a > 0) 1 else 0)
 println(roundUp(n) * roundUp(m))
}

Как на OCaml, так и на Scala я пишу впервые — более элегантные решения прошу в комментарии :)

MikeMirzayanov

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

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

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

Всем привет!

2-го декабря (в пятницу) в 19:00 (московское время) будет проведен неофициальный нерейтинговый контест Codeforces Testing Round #3. Во время него мы проверим на практике, что последние нововведения Codeforces не влияют на ход соревнований, а если это не так, то быстренько все исправим :) Так что этот раунд будет проходить as is, никаких гарантий на ход его проведения я не даю.

Задачи на раунде кому-то могут оказаться известными, но я постараюсь сделать так, чтобы это было верно не для всех. Будет 3-4 довольно простых задач. Продолжительность соревнования — 1 час.

Говорю заранее спасибо всем тем, кто придет и протестирует систему. Спасибо!

Все изменения в системе будут сугубо внутренние, видимых нововведений почти не будет.

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

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

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

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

  1. SPb NRU ITMO 1 (Kapun, Kever, Nigmatullin) — 1-ое место, чемпионы региона
  2. Moscow SU 1 (Fedorov, Kaluzhin, Rogulenko) — 2-ое место
  3. Belarusian SU 1 (Bahdanau, Pisarchyk, Sobol) — 3-е место
  4. Saratov SU 2 (Ivanov, Kuznetsov, Rakhov)
  5. SPb SU 1 (Andreev, Boykiy, Fondaratov)
  6. Moscow IPT 1 (Dlugach, Gimadeev, Shishkin)
  7. Ural FU 1 (Dolgorukov, Schelkonogov, Soboleva)
  8. Altai STU 1 (Silin, Uvarov, Yesipenko)
  9. Ufa SATU (Lezhankin, Mazgarov, Ripatti)
  10. Nizhny Novgorod SU (Lyulkov, Shmelev, Vadimov)
  11. Belarus SUIR 2 (Berezhnov, Brukau, Ropan)
  12. Udmurt SU (Abizyaev, Kibardin, Urbanovich)
  13. Latvian U 2 (Kalinicenko, Vihrovs, Vilcins)
  14. Kazakh-British TU 3 (Aitbayev, Satylkhanov, Almakhan)
  15. Tomsk SU 1 (Chadnov, Kolupaev, Afanasev)
  16. Volgograd STU (Agafonov, Chalyshev, Zhorin)

Проект Codeforces желает всем будущим участникам финала успехов в подготовке к ответственному соревнованию и достойных результатов в финале!

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

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

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

Всем привет!

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

Кроме меня раунд для вас делали RAD, Nickolas и Delinur. Им большое спасибо. Более того, Edvard еще не в курсе, но совсем скоро я попрошу его прорешать этот раунд в качестве тестера :)

Необычность раунда еще состоит в том, что вас ждет 6 задач. Это небольшой эксперимент — надеюсь, что это поможет каждому участнику найти интересные для себя задачи.

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

Расценки в баллах на задачи будут такими: A - 500, B - 1000, C - 1500, D - 2000, E - 2500 и F - 2500.

MikeMirzayanov

UPD. Соревнования закончилось. Вот результаты. Первое место занял представитель Китая — liuq901. Приятно было наблюдать столь большой интерес к контесту. Спасибо за участие!

К сожалению, у меня нет возможности написать разбор. Если с этим справиться кто-то из членов сообщества, буду благодарен.

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

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

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

Всем привет.

Хочу поделиться большой радостью моей семьи. В ночь с 8-го на 9-е ноября на свет появился маленький человечек по имени Танечка Мирзаянова. Конечно, теперь очевидны причины переноса раунда :)

Пока Танечке менее суток от рождения, но она уже успела подарить незабываемые радостные впечатления ее родителям — мне и моей супруге Кате aka LLLike. А сколько еще впереди!

Через несколько лет Таня Мирзаянова прочтет этот пост, а я ей скажу: "Смотри Танечка, сколько хороших и умных людей из разных уголков Земли поздравили тебя!".

Счастливый и довольный,
MikeMirzayanov

UPD: Всем огромное спасибо за поздравления! Я даже не ожидал прочесть столько теплых и приятных комментариев. А количество плюсов доказывает вечную истину: "дети - цветы жизни!". Спасибо!

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

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