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

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

Здравствуйте все!

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

Тем кто будет писать раунд предстоит окунуться в атмосферу ледяного февраля в городе XXXvodske и помочь компании друзей не умереть от холода. Помните, какая ответственность на вас лежит)

Пользуясь случаем хотелось бы поблагодарить всю команду Codeforces за то большое дело, которое они делают, Артема Рахова (RAD) за помощь в подготовке задач, Марию Белову (Delinur) за перевод условий на английский язык, маму, папу, нашего звукооператора и виноделов провинции Тоскана за то, что мы не заболели и смогли готовить для вас этот раунд.

Разбалловка ожидается следующая:

div. 1: 500-500-1000-1500-3000 (да-да, последняя задача того стоит)

div. 2: 500-1000-1500-1500-3000

Good luck & have fun!

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

»
12 лет назад, # |
  Проголосовать: нравится +4 Проголосовать: не нравится

Пост улыбнул :) Всем удачи!

»
12 лет назад, # |
  Проголосовать: нравится +18 Проголосовать: не нравится

Текста анонса готовил небось, дольше, чем какую-нибудь из задач?)

»
12 лет назад, # |
  Проголосовать: нравится +109 Проголосовать: не нравится

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится +89 Проголосовать: не нравится

    Нафиг регистрироваться ради одного сообщения, со своего акка запостить чтоль нельзя?

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится -8 Проголосовать: не нравится

    М-да, я бы предпочел не прикасаться к этой Е даже двадцатиметровой палкой :\

»
12 лет назад, # |
  Проголосовать: нравится +5 Проголосовать: не нравится

Good luck all.

»
12 лет назад, # |
  Проголосовать: нравится +11 Проголосовать: не нравится

3000 point problem In both division :O . That would be amazing (either for solving or learning) :)

»
12 лет назад, # |
  Проголосовать: нравится +42 Проголосовать: не нравится

3000!! Is the problem something like writing an OS? :)

»
12 лет назад, # |
  Проголосовать: нравится -118 Проголосовать: не нравится

Можно ответить на вопрос, зачем SergeiFedorov зарегистрировался на контест? Какие-то фишки codeforces с точки зрения недоступности авторам условий и доступности их участникам или Сергей тупо хочет рейтинг поднять о_О?

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится +41 Проголосовать: не нравится

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

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится -68 Проголосовать: не нравится

      Спасибо за ответ, именно это я и хотел услышать. Еще бы хотелось услышать, что именно недоступно из админской панели(как и было написано в моем посте).

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится -27 Проголосовать: не нравится

    ежу понятно, что не второе. мог и не писать второй вариант

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится +18 Проголосовать: не нравится

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

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится -47 Проголосовать: не нравится

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

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится +5 Проголосовать: не нравится

      Уже довольно долго не так, наверное Сергей об этом не знал.

»
12 лет назад, # |
  Проголосовать: нравится -8 Проголосовать: не нравится

Опоздал на регистрацию((

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится -11 Проголосовать: не нравится

    Вот почему нельзя продлить регистрацию вплоть до начала ?

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится +24 Проголосовать: не нравится

      чтобы успеть разбить по комнатам, очевидно

      • »
        »
        »
        »
        12 лет назад, # ^ |
          Проголосовать: нравится +11 Проголосовать: не нравится

        По-моему, это уже давно пора добавить в ЧАВО.

»
12 лет назад, # |
  Проголосовать: нравится +11 Проголосовать: не нравится

For problem B div 1, substring means contiguous sub-sequence?

  • »
    »
    12 лет назад, # ^ |
    Rev. 2   Проголосовать: нравится -22 Проголосовать: не нравится

    Did you know that there is "Ask a question" function here?
    I asked the same question during the contest, and they said "NO".

    [Edit] I was wondering why I am getting negative votes, but when I read my question again,
    what I asked was 'Is "ac" a substring of "abc"?'.
    What a foolish mistake! I am sorry for the confusion.

»
12 лет назад, # |
  Проголосовать: нравится +14 Проголосовать: не нравится

В оповещении было написано undefined, а не тот текст, что должен быть

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится +5 Проголосовать: не нравится

    Причем два оповещения — два лага.

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится +5 Проголосовать: не нравится

    а еще в первый дивизион пришло оповещение из второго.

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится +8 Проголосовать: не нравится

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

»
12 лет назад, # |
  Проголосовать: нравится +17 Проголосовать: не нравится

Раунд рейтинговый или нет?

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится +6 Проголосовать: не нравится

    Не первый раз понимаю, что по-хорошему раунд должен быть нерейтинговый, но самому хочется, чтобы рейтинговый был :-) Ну, если многим участником помешало. Я думаю, многим — если не читать этого анонса, то можно надолго засесть над дебаг-аутпутом в C, что я и сделал.

»
12 лет назад, # |
Rev. 2   Проголосовать: нравится +1 Проголосовать: не нравится

Перечитайте Вопросы на странице с задачами.

Не пропадает

PS: если уж это сделано не всем, а не только тем, кто что-то спрашивал:
Может стоит кидать оповещение(как о взломе), о том, что на вопрос ответили

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Думаю, что до конца контеста не пропадет.

    Наверное, просто в HTML-разметку всех страниц встроили это.

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

      У меня это появилось, когда я задал вопрос, думал фичу сделали, что сообщаяется, когда ответили. А тут видимо всем сделали

»
12 лет назад, # |
  Проголосовать: нравится +6 Проголосовать: не нравится

ну нееееееет, не анрейт, пожалуйста!!

»
12 лет назад, # |
  Проголосовать: нравится +4 Проголосовать: не нравится

У меня у одного сегодня как-то жутко лагали взломы? После нажатия на кнопку взломать страница залипает, и никак не реагирует на твои действия (хотя по-хорошему должна редиректить на страницу взломов). Тем не менее, сами взломы проходили (на это не жалуюсь :-)

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится +3 Проголосовать: не нравится

    было один раз такое

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится +8 Проголосовать: не нравится

    не у одного. потратил лишнюю попытку из-за этого.

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится +3 Проголосовать: не нравится

    Я из-за этого два раза неудачно вламывал одного участника одним тестом. Правда уже минут через 10, мой второй неудачный взлом, в системе отображался со статусом "Игнорирован".

»
12 лет назад, # |
  Проголосовать: нравится +6 Проголосовать: не нравится

div1, B. What if (k > n) ?

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится -8 Проголосовать: не нравится

    mn

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится -6 Проголосовать: не нравится

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

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится -25 Проголосовать: не нравится

      какого чёрта? "строк длины ровно n", "ПОДСТРОКА длины В ТОЧНОСТИ k". у меня у одного проблемы с пониманием того, как любая строка может подходить?

      • »
        »
        »
        »
        12 лет назад, # ^ |
          Проголосовать: нравится -12 Проголосовать: не нравится

        Покажи мне хоть одну подстроку длины 42 в строке abacaba, которая не является палиндромом.

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится +8 Проголосовать: не нравится

    any string is OK. So ans in mn

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится +22 Проголосовать: не нравится

    Than any string will do as there is no restriction

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится +3 Проголосовать: не нравится

      Why is that... when k>n there doesn't exist any string satisfying the constraint shouldn't the answer be zero...?

      • »
        »
        »
        »
        12 лет назад, # ^ |
          Проголосовать: нравится +2 Проголосовать: не нравится

        We do not need a string, that should satisfy the constraint. We just required that ANY string must satisfy the constraint

        • »
          »
          »
          »
          »
          12 лет назад, # ^ |
            Проголосовать: нравится +19 Проголосовать: не нравится

          That's totally misleading statement... :( (or I was too stupid to figure out at the time :P)

          • »
            »
            »
            »
            »
            »
            12 лет назад, # ^ |
            Rev. 2   Проголосовать: нравится +5 Проголосовать: не нравится

            If you've worked with logic you come to think like that.

            The statement "If 1=0 then 2=3" is always true, because 1 isn't 0. After some time you forget that that's not the way normal people think, (They think the statement doesn't make sense), and confusion can happen.

            However, I very much recommend thinking the logic way. It just works more often :)

      • »
        »
        »
        »
        12 лет назад, # ^ |
          Проголосовать: нравится +24 Проголосовать: не нравится

        I also thought 0. :(

        • »
          »
          »
          »
          »
          12 лет назад, # ^ |
            Проголосовать: нравится +14 Проголосовать: не нравится

          Me too. The problem statement is not well written.

          • »
            »
            »
            »
            »
            »
            12 лет назад, # ^ |
              Проголосовать: нравится +4 Проголосовать: не нравится

            When k > n, there are 0 substrings of length k. And there are 0 substrings of length k that are palindromes.

            0 = 0, therefore all substrings of length K are palindromes. In this respect, the problem statement was written correctly.

            However, it IS a common confusion specially if not familiar with how the "For every" quantifier works on empty sets. And after all, (n > k) is a silly test case to include — its only addition to the problem is this confusion. I think at least it would have been better if (k > n) was not allowed or was an example.

        • »
          »
          »
          »
          »
          12 лет назад, # ^ |
            Проголосовать: нравится +32 Проголосовать: не нравится

          Five minutes or so after receiving WA #3, I raised a clarification asking that, for K > N, whether I should output N^M or 0. And the reply I got is:

          "No comment."

  • »
    »
    12 лет назад, # ^ |
    Rev. 2   Проголосовать: нравится +9 Проголосовать: не нравится

    [Posted to the wrong position] I am really sorry.

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится +1 Проголосовать: не нравится

    why the answer is not 0? I got lots of wrong answer on case 3..

»
12 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

За какую сложность решалась D? Я хоть убей ничего круче пятой степени не придумал, написал, оно очевидно ТЛилось, поэтому бросил дебагать.

  • »
    »
    12 лет назад, # ^ |
    Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

    Авторское решение — четвертая степень.

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Я за четвертую степень написал. На макстесте на моем компе чуть больше 2 секунд работает. Хотя скорее всего упадет из-за stackoverflow

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

      С 64 Мб стека? Или у тебя вызовов 4я степень?

      • »
        »
        »
        »
        12 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится

        нет, ведь на CodeForces стандартный стек не 64МБ. Хотя, я сейчас запустил на макстесте на сервере, отработало нормально.

        • »
          »
          »
          »
          »
          12 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится

          Хм, я почему-то был твердо уверен, что на КФ стек 64m. Наверное, из RCC отложилось

»
12 лет назад, # |
  Проголосовать: нравится +3 Проголосовать: не нравится

Дайте кто-нибудь, ответы в задаче C div 1, для второго семпла, для каждого запроса.

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    +1, я никак не могу догнать, как у них вышло такое число во втором сэмпле...

  • »
    »
    12 лет назад, # ^ |
    Rev. 2   Проголосовать: нравится +3 Проголосовать: не нравится

    2517434
    90682
    27243
    4000
    2517434
    7772
    2517434
    4000
    (Всё следует поделить на 100)

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

      Хмм, каким образом считается в таком случае мат. ожидание? Расскажи на примере для 1 пассажира

      • »
        »
        »
        »
        12 лет назад, # ^ |
        Rev. 7   Проголосовать: нравится +3 Проголосовать: не нравится

        Посмотрим, что происходит, когда какой-то пассажир проезжает сегмент с X[i] до X[i+1] без билета. Матожидание прибыли за этот отрезок — 0.5*(X_[i+1]-X_i) — c*p_i, потому что мы выигрываем с этим отрезком его длину пополам — столько нам пассажир даёт выигрыша, и с вероятностью p[i] мы ещё потеряем на этом отрезке c. Назовём эту величину X[i]
        Теперь у нас встаёт вопрос, как бы выбрать в отрезке [A;B] отрезок с максимальной суммой X[i]. Это боян — делается деревом отрезков, где мы храним в каждой вершине четыре величины — отрезок с максимальной суммой в поддереве, отрезок с макс-суммой, утыкающийся концом в левую границу поддерева, отрезок с макс-суммой, утыкающийся концом в правую границу и сумму по поддереву. Через эти четыре штуки пересчитываются следующим кодом:

        return node(max(a.l, a.s + b.l), max(b.r, b.s + a.r), a.s + b.s, max(max(a.v, b.v), a.r + b.l), a.len + b.len);

        Как-то так.

        Что-то математическая разметка не работает :-(

        • »
          »
          »
          »
          »
          12 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится
          <span class="tex-span"><i>X</i><sub class="lower-index"><i>i</i></sub></span>

          Xi

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

      А можно c и d для предпоследнего пассажира (который едет с 4 по 10)?

      Как по мне, доход на каждом отрезке такой: [-19.31, -152.69, -101.55, 40.0, -107.0, 77.72, 194.71, 634.39, 24267.52]. Вот я предлагаю продать ему с 4 по 5 и с 6 по 10 (т.е. c=5, d=6) и получить доход 25214.34.

      • »
        »
        »
        »
        12 лет назад, # ^ |
        Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

        Э, да вы запутались :-) Вы не то максимизируете. Надо максимизировать не сумму вот этой хитрой величины, которую вы правильно посчитали (но я бы на вашем месте аккуратненько заменил отрицательные числа на нули меня клинит, не обращайте внимания) на [A; C] и [D; B], а наоборот, максимизировать сумму на [C; D]. Потому что то, что вы посчитали, это сколько можно получить профита, если соответствующий отрезок не включить в билет для пассажира.

        • »
          »
          »
          »
          »
          12 лет назад, # ^ |
          Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

          А... условие ж подправили... теперь стало даже проще. Спасибо за ответ!

  • »
    »
    12 лет назад, # ^ |
    Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

    25174.34

    906.8199999999999

    272.42999999999995

    40.0

    25174.34

    77.71999999999997

    25174.34

    40.0

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

      Для первого запроса если продать чуваку билет с координаты 0 до координаты 70, кажется наша выручка будет ((51100-70)-(100+44+67+3+4)*187/100) / 2 = 25311.17,

      • »
        »
        »
        »
        12 лет назад, # ^ |
        Rev. 2   Проголосовать: нравится +8 Проголосовать: не нравится

        штраф не делится на двоих ;)

      • »
        »
        »
        »
        12 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится

        Понял свою ошибку: я не учитывал то, что кондуктор иногда всё равно получает прибыль от пассажира, даже если контролёр "запалил" его :)

»
12 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

C решается за n*ln(n) или проходит n*sqrt(n)?

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится +5 Проголосовать: не нравится

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

»
12 лет назад, # |
Rev. 2   Проголосовать: нравится -43 Проголосовать: не нравится

Ну надо же в этом коде 1187859 если входным числом будет 2, то d[0] в котором находиться 2 будет умножаться на элемент локального массива, в котором содержится мусор. Оказывается что там будет 0 =(

»
12 лет назад, # |
  Проголосовать: нравится -30 Проголосовать: не нравится

Условие задачи A мне показалось каким-то сложным для понимания, я умудрился неправильно понять, что же такое "ход", можно было и попроще написать. А вот косяк с условием в задаче C ставит в очередной раз под сомнение качество проверки задач перед раундом. Супер-крутая команда вычитывальщиков в очередной раз не замечает тотального провала в условии, благодаря которому даже ответа на тесты из примера получить невозможно. В ходе раунда сайт падает на пару минут, а broadcast сообщения почему-то не работают. Codeforces для меня мертв.

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится +7 Проголосовать: не нравится

    Паша, всегда легко пенять на авторов контестов, однако ты же понимаешь, что основа твоего проигрыша — твои косяки. Ведь все были в равном положении. Никто не торопил тебя и не заставлял во второй задаче забывать брать по модулю ответ, например. И, кстати, в условии С мне сразу стало понятно, что там подразумевается, НЕ продавать. Видно, что опечатка. Конечно, это серьезный косяк, но решаемый и понять его можно. Я не отрицаю вины авторов, но все же и всю вину только на них свешивать не стоит =)

    • »
      »
      »
      12 лет назад, # ^ |
      Rev. 2   Проголосовать: нравится +27 Проголосовать: не нравится

      "И, кстати, в условии С мне сразу стало понятно, что там подразумевается, НЕ продавать."

      Я тоже так хочу, научите?

      • »
        »
        »
        »
        12 лет назад, # ^ |
          Проголосовать: нравится +6 Проголосовать: не нравится

        "Однако кондуктор может продать пассажиру билет от остановки c до остановки d (c < d), или вовсе не продавать билет." Ключевой момент в том, что он может вовсе НЕ продавать билет, здесь было написано все именно так. не пропустили только в первом случае. то, что он может продать билет на весь маршрут следования — очевидно из остального условия. в общем-то у меня эта фраза вызвала нехилый диссонанс в мозгу и заставила задумать. после небольшого размышления я пришел к мысли, что здесь логичнее всего было бы дописать НЕ перед продать и что это с большей вероятностью опечатка, чем тотальная неграмотность автора =) В общем вопрос к жюри назрел, но клары подоспели вовремя =)

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится +7 Проголосовать: не нравится

    Павел, уже в который раз после своего очередного слива Вы пишете о косяках codeforces. Безусловно, эти косяки имеют место быть (как и на другом небезызвестном сайте), но всегда проще винить других чем найти ошибку в себе. Разумеется, я даже не буду говорить Вам о том, что условия у всех одинаковые, и точно так же, как и вы, не могли вычитать условие еще более ста человек(и наверняка не смогу вычитать его я, когда буду прорешивать данный раунд виртуально — учитывая, что я очень "хорошо" читаю условия) — Вы сами это прекрасно понимаете, просто почему-то не хотите признать. Конечно, кто я такой чтобы Вам советовать, и, конечно, я не хочу Вам навязывать своего мнения, но, на мой взгляд, весьма продуктивен подход когда после каждого раунда вы делаете его анализ по каждому Вашему действию, по каждой Вашей удачной или неудачной посылке, по каждому рисунку который Вы нарисуете в блокноте во время контеста.

»
12 лет назад, # |
Rev. 2   Проголосовать: нравится +10 Проголосовать: не нравится

Почему в В, если k > n , то mn ? Я наоборот специально сделал, чтобы выводило 0, и весь контест не мог третий претест пройти.

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Потому что для любой строки любая(из 0 существующих) подстрока длины k подходит. Что нам и нужно

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится +6 Проголосовать: не нравится

      Я это понял так, что нет ни одной подстроки длины k, значит ни одна строка не подходит, значит ответ — 0. Я один такой?

      • »
        »
        »
        »
        12 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится

        Ни одна строка не подходит. Это правда. Но при этом все строки проходят. Это тоже правда.

        А у нас вопрос, про ВСЕ

      • »
        »
        »
        »
        12 лет назад, # ^ |
          Проголосовать: нравится +5 Проголосовать: не нравится

        любое утверждение для пустого множества верно.

      • »
        »
        »
        »
        12 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится

        +1, в итоге 4 бревна

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится +3 Проголосовать: не нравится

    Тоже самое. Весь контест на это убил, не понимая, что не так.

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится +9 Проголосовать: не нравится

    Ну ведь правда что в строке abacaba все подстроки длины 42 палиндромы?

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится +3 Проголосовать: не нравится

    ну подстрок длины k просто нет, поэтому все они являются палиндромами :)

  • »
    »
    12 лет назад, # ^ |
    Rev. 2   Проголосовать: нравится +6 Проголосовать: не нравится

    Так же. Совсем не очевидно, что для k>n надо выводить m^n. Если подстрок длиной k не существует, то значит, что они все — палиндромы?)

    UPD: Можно подумать, что любая из 0 строк — палиндром. Но точно так же — любая из 0 строк — не палиндром.

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится +5 Проголосовать: не нравится

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

      Построение отрицаний, 5 класс средней школы %)

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится -8 Проголосовать: не нравится

    Там не k > n, а для этого случая получается, что мы не можем выбрать подстроку длины k из n символов. То есть подстрока длины k из n — это пустая строка, а пустая строка — это палиндром. Значит в ответом будет количество всех строк длины n.

»
12 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Скажите пожалуйста, какой ответ в B div 1 для нечетного k? ( Все пограничные случаи проверены)

  • »
    »
    12 лет назад, # ^ |
    Rev. 2   Проголосовать: нравится -10 Проголосовать: не нравится

    Видимо, m?
    Я не умею читать.

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится +3 Проголосовать: не нравится

    m*m

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

      Почему так, в ведь у нас есть m^((k+1)/2) палиндромов и мы можем поставить их на n-k+1 мест, еще отсечение палиндромов с одинаковыми символами(m)?

      • »
        »
        »
        »
        12 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится

        все строки имеют вид 121212121212121(вроде не сложно понять)

        • »
          »
          »
          »
          »
          12 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится

          Теперь ясно, вот это мне было и не понятно. Спасибо.

»
12 лет назад, # |
  Проголосовать: нравится +12 Проголосовать: не нравится

Хех, вот он, герой контеста — 1197076 :)

»
12 лет назад, # |
  Проголосовать: нравится +35 Проголосовать: не нравится

Though my rating may increase i think this round should be unrated. CF was down for about 7-8 minutes and also got down several times last 20 minutes. I lost valuable points because of server down,it got down just when i tried to submit C,and i had to wait for 7-8 minutes to submit it.

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится +27 Проголосовать: не нравится

    The worst part is that the problem statement for C changed. I didn't check the statement again and spent lots of time trying to produce correct output for C.

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится +8 Проголосовать: не нравится

      Statement for D was also changed.

      Do they only happens in the English version?

      • »
        »
        »
        »
        12 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится

        If D also changed then they really should have updated the problems page with that message.

        • »
          »
          »
          »
          »
          12 лет назад, # ^ |
            Проголосовать: нравится +3 Проголосовать: не нравится

          I mean really, there are messages for problem C/E so that if you read 'undefined' in a popup you will get to know that the problem statement was changed.

          But if dolphinigle's report that D changed is true, then there should have at least be a note in the problems page saying that it was changed...

          • »
            »
            »
            »
            »
            »
            12 лет назад, # ^ |
              Проголосовать: нравится +2 Проголосовать: не нравится

            It was sort of minor I suppose (replacing "until" with "while"), though it did cost me some good time, since I turned off my common sense during programming contests.

            Maybe I should rethink that protocol :S

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится +5 Проголосовать: не нравится

      I was the same

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится +16 Проголосовать: не нравится

      Same here... somehow did not get the clarification broadcast, couldn't understand what's wrong before refreshing out of despair

      • »
        »
        »
        »
        12 лет назад, # ^ |
          Проголосовать: нравится +24 Проголосовать: не нравится

        I've got a javascript alert which said "undefined". In last contest i've got same alert and than found that my solution have been hacked. But this time it was the clarification. Hope admins will fix it soon.

        • »
          »
          »
          »
          »
          12 лет назад, # ^ |
            Проголосовать: нравится +8 Проголосовать: не нравится

          Ahh... There WAS also that "undefined" alert box for me. Somehow I wasn't in the mood or something I didn't think much about it and simply ignored the alert. Now that you've mentioned it there was indeed the JS alert box with unknown intention... Should have thought it's trying to tell me something though :p

          • »
            »
            »
            »
            »
            »
            12 лет назад, # ^ |
              Проголосовать: нравится 0 Проголосовать: не нравится

            Indeed when I got this "undefined" prompt, I had a first impression that, this may be due to some bugs in Codeforces system, or admin accidentally broadcasted a wrong message. (Meanwhile I was busy thinking for problem C sample test case #2, and I simply ignored the box.)

            Perhaps I did this because in previous codeforces testing round, there was some prompt like "Don't worry, it's just a testing."

»
12 лет назад, # |
  Проголосовать: нравится +2 Проголосовать: не нравится

очень хорошие задачи. Спасибо автору(-ам). Интересно было решать.

»
12 лет назад, # |
Rev. 2   Проголосовать: нравится +14 Проголосовать: не нравится

I think it should be fair to make this round unrated. Lots of problems came up and affected vast of coders.

»
12 лет назад, # |
  Проголосовать: нравится +8 Проголосовать: не нравится

What datastructure do you need for maximum subarray part of div 1 C? I was thinking maybe use a segment-tree with several fields for combining the segments in the tree.

  • »
    »
    12 лет назад, # ^ |
    Rev. 3   Проголосовать: нравится -13 Проголосовать: не нравится
        double mn = 0, sum = 0.0;
        for (int i = 0; i < n; i++) {
            sum += y[i]; mn = min(mn, y[i]);
            res = max(res, sum - mn);
        }
    
  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится +3 Проголосовать: не нравится

    It can be done without segment tree.For each interval [a,b] its length(b-a+1) can be uniquely represented in binary number system.Let this number has m ones in binary form: length=2^k1+2^k2+....2^km..(k1>k2>...>km)..Then we can solve for intervals [a,a+(2^k1)),[a+(2^k1), a+(2^k1+2^k2) ),.... individually and also check for the subarrays which lies in several consecutive intervals.

»
12 лет назад, # |
Rev. 3   Проголосовать: нравится +24 Проголосовать: не нравится

Числа C и D различны для всех пассажиров? Не обязательно. Могут совпадать, а могут быть различны. Нет.

Ну почему этот клар не разослали всем? Ни хрена ведь не очевидно! "Более формально: Кондуктор выбирает не более одного отрезка..." Ну почему не написано, что не более одного отрезка ДЛЯ КАЖДОГО ПАССАЖИРА? Кучу разных отрезков выбирает ведь на самом деле...

  • »
    »
    12 лет назад, # ^ |
    Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

    +1

    Блиииин, а я то весь контест понимал условие как написано: то есть, что кондуктор выбирает не более ОДНОГО отрезка -- хрен знает как такое решать. :(

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

      такое то кажись проще — нужно найти только 1 отрезок с макс.суммой, вместо m.

      • »
        »
        »
        »
        12 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится

        Да, точно. Ну ладно, значит сам дурак, что не решил.

      • »
        »
        »
        »
        12 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится

        Нет конечно. Для фиксированного человека [A; B] учитываться будет только пересечение [C; D] с [A; B], то есть в ответ будет вклад [max(A, C); min(B, D)]. Поэтому не факт, что нужно брать отрезок с максимальной суммой. Не?

        • »
          »
          »
          »
          »
          12 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится

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

          • »
            »
            »
            »
            »
            »
            12 лет назад, # ^ |
              Проголосовать: нравится 0 Проголосовать: не нравится

            Это можно сделать тупо за линию, ДО как-то overdo

            • »
              »
              »
              »
              »
              »
              »
              12 лет назад, # ^ |
              Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

              Эм, я видимо туплю. Как?

              ЗЫ: умею еще тучей способов за nlogn

              • »
                »
                »
                »
                »
                »
                »
                »
                12 лет назад, # ^ |
                  Проголосовать: нравится 0 Проголосовать: не нравится

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

                • »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  12 лет назад, # ^ |
                  Rev. 3   Проголосовать: нравится 0 Проголосовать: не нравится

                  А как мы считаем те кол-ва?

                  UPD: А ну видимо можно предпосчитать.

                • »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  12 лет назад, # ^ |
                    Проголосовать: нравится 0 Проголосовать: не нравится

                  Ну, в массивчик, не?

                • »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  12 лет назад, # ^ |
                    Проголосовать: нравится 0 Проголосовать: не нравится

                  Ага, че-то я сегодня не слишком быстро соображаю:(

        • »
          »
          »
          »
          »
          12 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится

          Ну, надо домножить на количество человек, которые "проезжают" данный отрезок

»
12 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

D решается формулой и с несколькими условиями. Гораздо легче чем С.)))

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    А я не додумал до конца :(

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится +8 Проголосовать: не нравится

    Я начал было разбирать случаи, потом забил и написал просто перебор. Можно построить граф связей, где ребро между i и j есть, если они противоположны в каком-то палиндроме (пробегаем по всевозможным палиндромам — ограничения позволяют). Тогда ответ это m в степени количество компонент связности.

»
12 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

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

»
12 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Чёрт, почему (и одному ли мне) E[div 2] кажется идейно проще D? Расскажите D, если не сложно)

Решение в E придумал следующее: при помощи одного дерева отрезков подсчитаем, сколько пассажиров проезжает между соседними остановками. Тогда выгода кондуктора, если на этом отрезке билеты не продавать, составит(длина отрезка — вер-ть проверки * штраф) * к-во пассажиров. Соответственно, с помощью второго дерева отрезков найдём подотрезок с максимальной суммой. А больше ничего и не надо :)

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

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

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится +3 Проголосовать: не нравится

      Можно, в принципе, сослаться на "примеры и пояснения к ним — тоже часть условия". Но я тоже считаю, что такие места стоит уточнять в условии, а не примерах. Примеры — это совсем крайний случай.

      • »
        »
        »
        »
        12 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится

        А я вот никак не могу понять, как там можно понять иначе чем для каждого пассажира выбирается [C,D]

        • »
          »
          »
          »
          »
          12 лет назад, # ^ |
            Проголосовать: нравится +5 Проголосовать: не нравится

          Более формально: Кондуктор выбирает не более одного отрезка с C по D (C <= D) на который он НЕ ПРОДАЕТ БИЛЕТ.

          • »
            »
            »
            »
            »
            »
            12 лет назад, # ^ |
              Проголосовать: нравится 0 Проголосовать: не нравится

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

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится +8 Проголосовать: не нравится

      Жаль, что столько фейлов, задачи-то хорошие.

  • »
    »
    12 лет назад, # ^ |
    Rev. 4   Проголосовать: нравится +5 Проголосовать: не нравится

    Кстати (если проигнорировать, что это решение не той задачи), обе описанные операци проще сделать без дерева отрезков: первую (offline RSQ) сканирующей прямой с дельтами, вторую (отрезок с максимальной суммой) — чем-то, что проще всего объяснить кодом:

    int s=0,m=0;
    for(int i=0;i<n;++i){
        s=max(0,s+a[i]);
        m=max(m,s);
    }
    
    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

      Эм, вы находите только 1 макс. отрезок за O(n), а надо бы такое делать m раз.

      Или я что-то не понял?

      • »
        »
        »
        »
        12 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится

        Ну, это решение задачи, где C и D должны быть одинаковы для всех пассажиров.

        • »
          »
          »
          »
          »
          12 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится

          Ты тоже неправильно понял эту задачу?

          • »
            »
            »
            »
            »
            »
            12 лет назад, # ^ |
              Проголосовать: нравится +1 Проголосовать: не нравится

            Нет, я понял правильно и не сомневался. Увидев в комментариях альтернативное понимание, стал сомневаться и сомневался минут 10, пока не посмотрел в код сдавших ее участников. А не решил ее потому что дурак :)

      • »
        »
        »
        »
        12 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится

        объясните пожалуйста, до меня все не доходит

        я вот так и не понял, почему нельзя использовать сканирующий алгоритм поиска максимальной подпоследовательности для массива мат ожиданий каждого пассажира. А потом сложить их все?

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

  • »
    »
    12 лет назад, # ^ |
    Rev. 4   Проголосовать: нравится +3 Проголосовать: не нравится

    В D (div. 2) рассматриваешь несколько случаев:

    k > n: подстрок длины k в строке длины n нет, а, значит, они все удовлетворяют условию и любая строка будет ответом, т. о. имеем m^n;

    k = n: подстрока такая одна и, значит, она удовлетворяет условию тогда и только тогда, когда сама строка является палиндромом, а всего палиндромов длины nm^((n+1)/2);

    k = 1: каждая подстрока является одной буквой, а, значит, падиндромом, т. о. все подстроки удовлетворяют условию и любая строка нам подойдет, а всего их m^n;

    k % 2 == 0: в этом случае ответом будет m, ибо нам подойдут лишь те строки, в которых все буквы одинаковы;

    Ну и k % 2 == 1: в этом случае нам подойдут все строки формата abababa, где a и b — различные буквы, т. о. всего таких строк m^2.

    Не забудем помодить, конечно же)

»
12 лет назад, # |
  Проголосовать: нравится +3 Проголосовать: не нравится

что за дискриминация див1, постоянно проверяют сначала див2! может стоит как-то чередовать?

»
12 лет назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится

Can anybody tell me what is the problem with using below code in problem B div 2?

cout << "\b." << "\n";

it was working fine on my system but was giving wrong answer on pretest and also on custom as it wasn't erasing last ",". It cost me 2 penalties :(. Solution id 1192671.

»
12 лет назад, # |
  Проголосовать: нравится +9 Проголосовать: не нравится

кажется С див1 все таки стоит 1500

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится +1 Проголосовать: не нравится

    Не, это была бы честная тысяча, если бы не ряд досадных оплошностей.

»
12 лет назад, # |
  Проголосовать: нравится +9 Проголосовать: не нравится

Спасибо за контест, интересные задачи) Для меня он не очень удачный, ибо я больше часа искал в D багу и так ее и не нашел. Бага же была в том, что для случая k > n я выводил ноль, а не (m^n) % MOD, как же сложно было понять, что если таких подстрок в строке нет, то, значит, что все такие подстроки удовлетворяют условию и любая строка будет ответом, а не наоборот :(

»
12 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

C-Div2. "Number's divisor is called non-trivial if it is different from one and from the divided number itself."

I thought it means that for number N, the divisor d should not be equal to 1 and N/d. But now my friend tells me that it meant not 1 and not the number itself.

Now, it makes sense. But why add the word "divided"? I took the long route of solving the problem because of this condition and now it is wrong.

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Divided != divisor. If text was "...from one and from the divisor number itself", you'd have been right.

»
12 лет назад, # |
Rev. 3   Проголосовать: нравится 0 Проголосовать: не нравится

Кто сможет объяснить почему в задаче B div 1 если K > N то ответ M^N?

UPD. вопрос снят

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Ну прочитай комменты выше. Три поста уже таких было.

»
12 лет назад, # |
  Проголосовать: нравится +10 Проголосовать: не нравится

Can anyone explain how the solution to the second example case of Smart Cheater is constructed?

I thought the conductor should not sell tickets for the last four segments, resulting in an expected profit of 466.32 + 973.55 + 2537.56 + 72802.56 = 76779.99, but this 80 less than the reference output. I can break down these numbers further if it helps, but I wonder what I'm missing here!

  • »
    »
    12 лет назад, # ^ |
    Rev. 2   Проголосовать: нравится +10 Проголосовать: не нравится

    Conductor should choose C and D for each passenger.

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится +13 Проголосовать: не нравится

    For each passenger conductor may choose his own [C;D] in [A;B]. This segments [C;D] may be distinct for various passengers.

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится +5 Проголосовать: не нравится

      I got the same output as Soultaker. (And of coz, after quite considerably long time to find that the problem C's statement is updated.) The problem statements are so ambiguous... I could only understand it right now.

      • »
        »
        »
        »
        12 лет назад, # ^ |
          Проголосовать: нравится +35 Проголосовать: не нравится

        I think that these ambiguities are due to the English translations. The problem setters are usually programming contest veterans, so I assume they know how to write clear and unambiguous problem statements, but those qualities may be lost in translation.

        For example, for this problem, I think for this part:

        However, the conductor can choose no more than one segment NOT TO SELL a ticket for. We mean that conductor should choose C and D (С <= D) and sell a ticket for the segments [A, C] and [D, B], or not sell the ticket at all.

        The original Russian text reads:

        Однако кондуктор может не продать пассажиру билет от остановки c до остановки d (c < d), или вовсе не продавать билет. Более формально: Кондуктор выбирает не более одного отрезка с C по D (C <= D) на который он НЕ ПРОДАЕТ БИЛЕТ.

        I don't know Russian so I'm not entirely sure whether this is much more clear, but at least I spot the word "пассажиру" (meaning "passenger") in there. The English version doesn't mention the word "passenger" at all, and in fact underscores that there is a no more than one segment chosen by the conductor.

        I can't complain too much, though, as there were plenty of non-Russian competitors that were able to solve this problem, presumably using the English translation. Still, I would enjoy these contests more if for me there would be more actual problem-solving involved and less figuring-out-what-the-problem-is, especially since the problems on CodeForces (once I understand them) are often quite interesting.

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

      Thanks for the clarification! That was not at all clear from the problem statement.

»
12 лет назад, # |
  Проголосовать: нравится +78 Проголосовать: не нравится

The Problem C's description's change waste a lot time of me or someone else...I think today's round should be unrated>_<...

»
12 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Я один, кто написал в D (она же B div 1) систему непересекающихся множеств? :)

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится +3 Проголосовать: не нравится

    Нет, 1187876. tourist делал так же.

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Да нет. Довольно очевидно, что она пройдет, а раз так — чего еще думать?)

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Написа адекватное решение, не зашло из-за того, что я корявый и не до конца раскрутил наличие левого символа, переписал на dsu

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    объясните решение с СНМ пожалуйста

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится +1 Проголосовать: не нравится

      Условие задачи даёт нам много штук разных равенств вида S[i] = S[j]. Такие равенства дают разбиение на сколько-то классов эквивалентности — с помощью СНМ, видимо, предлагается сжать номера символов с одинаковыми значения в один класс, а потом вывести m в степени количество классов.

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится +1 Проголосовать: не нравится

      Переберем все подстроки длины k. Переберем все пары 1-k, 2-(k-1) итд в ней. Для каждой пары скажем, что они одинаковы, т.е объединим множества.

      Посмотрим, скоько осталось множеств

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится +1 Проголосовать: не нравится

      Переберем все палиндромы (O(N)). В каждом палиндроме одинаковые буквы положим в одинаковые множества (O(K)). Посчитаем, сколько различных множеств получилось в итоге.

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Я можно сказать также делал. Вот я описал своё решение http://codeforces.com/blog/entry/3899#comment-79080

»
12 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Авторам за контест от меня минус.

Начало. Открываем первую задачу. Боян. Даже если не видели раньше, то очевидная. Ну ладно, это первая, так и должно быть. И код коротенький:) Открываем вторую. Опять боян? Ну ладно, нам то что, пишем. Еще и ступил, не вписал один из случаев, лишний сабмит делал. Смотрим третью... Условие длинное, давайте четвертую. Ок, четвертая дп наверное, надо подумать, как сложность срезать хотя бы до "быстрых n^4", а пока что раз третья только 1000 стоит, то попробуем третью сначала. Прочел третью. Кое-как вкурил условие. Понадобился еще вопрос жюри, чтоб понять, есть ли глубокий смысл в том, что буква c обозначает 2 переменные в условии. Как оказалось, "_Нет, буквы совпадают случайно._". Ок, наконец-то понял условие. Хм. Опять боян?! Да не смешно уже. Ладно, сначала пишем тупизну, чтоб потом тестить правильное решение. Тут начинаются проблемы — тупизна не проходит пример. Тестим, рисуем, дебаг-оутпутим... Не помогает. Тут и клар попал в глаза... Как бы "извините, Вы решаете не то...". Подумал... Так ведь условие не меняется :D Только оценочную функцию переделать. Ок, тупизна запахала, сел писать норм решение. Правда, убил 40 минут на написание кода, который где-то слетал, забил и пошел содрать готовое с e-maxx (я уже употреблял слово "боян" в этом сообщении?).

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится +19 Проголосовать: не нравится

    А я не почувствовала боянистости ни в одной из задач.

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

      Первую задачу в немного другой формулировке (но задача та же... если дописать к решению сегодняшней работу с мультитестами, то должно проходить) видел на каких-то китайцах. С учетом того, что китайцев много, и у каждого свой личный АСМ-архив на пару тысяч задач, то вряд ли я смогу ее найти и показать за разумное время, поэтому обвинение с моей стороны не сильно обоснованное. Третья... Считаю, что все, что разобрано на e-maxx — или "алгоритмы, которые надо знать", или "очень популярные задачи". В сегодняшней задаче отклонение от задачи с е-макса было только в понятии "матожидание", которое в 2 строки кода сводило задачу к выше указанной. Я понимаю, что задачи в явном виде, наверное, не гуглились:) :)

      Довольно правильно было подмечено ниже, халяву боянами называть не совсем верно. Но халява для каждого своя. Я думаю, что понятие "халявы" для Гены и для среднестатистического "фиолетового Васи" сильно отличается. Если для Натальи или кого-то еще эти задачи сравнительно простые, то, может быть, такое даже и не запоминается на контестах... Или что-то в этом духе. Я от уровня финалов мира пока ниже не то что на несколько ступенек, а, скажем так, на 2-3 этажа:) Поэтому мне над таким думать приходится, и я запоминаю...

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится +9 Проголосовать: не нравится

    По-моему задачи как раз вполне адекватные.

    Но вот подготовка...

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится +10 Проголосовать: не нравится

    Я один не нашёл, где здесь боян? Для вас любая задача, которая сводится к нетривиальному дереву отрезков (которое вы и то скатали с e-maxx) боян? А называть халяву A и B боянами глупо. Халява должна писаться по пять минут каждая и забываться.

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится +14 Проголосовать: не нравится

      Я считаю что Е мердж двух задач которые уже были по стопятсот раз. В частности это задача quality с IOI-2010 и race с этого IOI (и еще штук 8 за этот год). Если конечно имелся ввиду Nlog3. А в чем смысл задачи, которая в таком случае придумывается за 3 минуты и не пишется в формате 2-хчасового контеста я не понимаю.

      • »
        »
        »
        »
        12 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        А в чем смысл задачи, которая в таком случае придумывается за 3 минуты и не пишется в формате 2-хчасового контеста я не понимаю.

        Это другой вопрос :-) К тому же человек, которому я отвечал, про E ни слова не говорил, а выдвигал претензии к другим задачам.

      • »
        »
        »
        »
        12 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится

        Я бы не сказал что все эти задачи были 100500 раз, но согласен что каждая из идей по отдельности встречалась.

        • »
          »
          »
          »
          »
          12 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится

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

»
12 лет назад, # |
  Проголосовать: нравится -27 Проголосовать: не нравится

Problems were nice.

»
12 лет назад, # |
  Проголосовать: нравится +34 Проголосовать: не нравится

I think each contestant should be able to decide if their rating is updated for this round.

»
12 лет назад, # |
  Проголосовать: нравится +24 Проголосовать: не нравится

Problem D of Div. 2 sucks when k > n.

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    It really doesn't. While it's a bit of a "silly" case it makes perfect sense. The requirement is that all substrings of length k should be palindromes. Since there are no substrings of length k, all strings pass. It makes perfect logical sense.

»
12 лет назад, # |
  Проголосовать: нравится +17 Проголосовать: не нравится

Задачи хороши, жаль, что возникла проблема в С (видимо, легенду меняли в последний момент?) Мне вот интересно, а каждый какой раунд в комментариях половина посвящена пустому множеству и его соответствию каким-либо условиям?

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится +25 Проголосовать: не нравится

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

      Я, конечно, неясно выразился. Я долю имел ввиду

      • »
        »
        »
        »
        12 лет назад, # ^ |
          Проголосовать: нравится +2 Проголосовать: не нравится

        Да я понял, шутка же ;-) Достаточно часто, что. Раз контестов в пять точно.

»
12 лет назад, # |
Rev. 3   Проголосовать: нравится +3 Проголосовать: не нравится

Задача С совсем не понравилась,даже если бы в ней не было ошибки. История вместе с поправкой высосана из пальца. В начале было совсем не очевидно,что кондуктор продает РОВНО 1 билет каждому пассажиру,после поправки нужно было много думать и несколько раз перечитывать условие,чтобы свести задачу к банальному подотрезку с максимальной суммой.В итоге много времени потеряно непотяно на что. Кажется,история к задаче на явную структуру данных должна все таки делать задачу более интересной или помогать понять ее математическую суть, а не наоборот прятать ее за кучей слов и нереалистичных примеров(Где вы видели чтобы кондуктор поступал подобным образом?).

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    В оригинальном (до поправки) условии, когда кондуктор может продать единственный билет на какой угодно участок пути [C;D] вместо участка [A;B] условие было вполне похоже на реальность. Да и решение совершенно не отличалось.

    • »
      »
      »
      12 лет назад, # ^ |
      Rev. 3   Проголосовать: нравится 0 Проголосовать: не нравится

      Я потратил некоторое время,решая для себя,что слова "может продать билет" означают,что может продать ровно 1 билет. В английском языке в таких случаях всегда пишут "exactly" one ticket.

      • »
        »
        »
        »
        12 лет назад, # ^ |
          Проголосовать: нравится -8 Проголосовать: не нравится

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

        • »
          »
          »
          »
          »
          12 лет назад, # ^ |
          Rev. 2   Проголосовать: нравится +8 Проголосовать: не нравится

          В любом случае,мне кажется что это предложение требовало пояснения,(В начальном варианте-стоило добавить что билет продается ровно 1,и пассажир с билетом от C до D может быть пойман на участках от A до С или от B до D) и если бы авторы его сделали сразу возможно и бага бы не было.

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

      Ага, главное было прочитать что (С;Д) НЕ ПОПАДАЕТ. Как я так умудрился?

»
12 лет назад, # |
  Проголосовать: нравится +25 Проголосовать: не нравится

Many people complained about the not working announcements before. It always says undefined whether it's a hack or announcement. It has been like that for at least 3 round. Could you please fix it.

»
12 лет назад, # |
Rev. 3   Проголосовать: нравится +12 Проголосовать: не нравится

Добавьте в задачу A (div. 1) тест 9316358251200. Это число с очень большим количеством делителей.

Я сломал NALP на тесте 6599669076000 (сейчас это 29-ый тест), но 9316358251200 посерьезнее.

И вообще это решение проходит все тесты, кроме 29-го: 1197803.

Также можно добавить 6746328388800 и 8995104518400.

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Интересно как.. а я придумал, что надо искать 2 раза мин. делитель от 2 до корня из 10^13. Меня такие тесты не пугают :)

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

      Ну вот, к примеру, мое решение, точно такое же, но с удачно поставленными break-ами: 1188543. Если их не поставить, вычислений будет слишком много, т.к. делителей слишком много.

      Я вообще очень удивился, когда увидел, что в моей комнате всего 2 подобных решения, помимо моего. Суть такова: состояние выигрышное, если из него есть переход в проигрышное (оно и достанется сопернику). Я думал, что это пишется на автомате, сдается и забывается.

»
12 лет назад, # |
Rev. 2   Проголосовать: нравится -26 Проголосовать: не нравится

This is another contest where I've run into problems with writing solutions in Python. This time I spent AN HOUR trying to figure out why my solution for C div2 gets TLE. I didn't even care to check other problems because this one was so frustrating. After the contest, when I ran my solution locally, it turned out that on one of testcases in Codeforces environment it took 2000ms, whereas on my machine it took < 700ms. I vote for adjusting the time limits to the runtime performance of languague, in a similar manner as Codechef does. Otherwise there's no sense in allowing to write solutions in Python, knowing that it might fail, even though the same algo would run within limits in C/C++.

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится +36 Проголосовать: не нравится

    Choosing right language is a part of problem solving process.

    I use Python for almost all problems on Codeforces, because it's often much faster to code solution in it (for example, for today's "Quantity of Strings" it has built-in modular exponentiation).

    But for some problems Python is not fast enough, it's OK.

    Also you can use "custom test" functionality to test execution time on the Codeforces server.

»
12 лет назад, # |
  Проголосовать: нравится +7 Проголосовать: не нравится

If there is going to be a voting, then count me for unrated. (I cannot keep refreshing the page , sorry, I have exam tomo.)

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится -27 Проголосовать: не нравится

    Very bad, that it is rated. X-(

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится -6 Проголосовать: не нравится

      How can you make it rated ? Problem B (div1) :: "Any its substring of length k" should have been "**All of** its substring of length k"

      • »
        »
        »
        »
        12 лет назад, # ^ |
          Проголосовать: нравится +5 Проголосовать: не нравится

        Could you elaborate? What's the difference in this context?

        • »
          »
          »
          »
          »
          12 лет назад, # ^ |
            Проголосовать: нравится -9 Проголосовать: не нравится

          "aaaab" satisfies any substring of length 4 which is Palindrome. but does not satisfies "all" substring of length 4, since aaab is not palindrome.

          • »
            »
            »
            »
            »
            »
            12 лет назад, # ^ |
              Проголосовать: нравится 0 Проголосовать: не нравится

            Also, in the case of k > n. behavior is undefined, so it should have been clearly mentioned what to do.

            By behavior being undefined, i mean to say, "any substring of length k", what of you mean by a substring of length 7 in a string of length 2 ?

            • »
              »
              »
              »
              »
              »
              »
              12 лет назад, # ^ |
                Проголосовать: нравится 0 Проголосовать: не нравится

              You should count number of strings under the constraints mentioned in problem statement.

              If k is more than n , we have n^m possible strings.

»
12 лет назад, # |
Rev. 2   Проголосовать: нравится -20 Проголосовать: не нравится

I think contest should be rated for we Div 2 because there was a problem in only E and I dont think it affected more than a 3-4 people ( only 1 person had solved before the updation of the statement at 7:47. So all of the people were doing the other problems then and I dont think anyone starts off with E especially when its 3000 UPD: And yes it is rated

»
12 лет назад, # |
Rev. 2   Проголосовать: нравится -15 Проголосовать: не нравится

хм, мне кажется в B возникает неоднозначность, что выводить при k>n: 0 или m^n Думаю надо было бы в условие об этом сказать

»
12 лет назад, # |
  Проголосовать: нравится +27 Проголосовать: не нравится

Победа, всё-таки rated! Пётр решил, что Гене хватит форы и начал догонять :-)

»
12 лет назад, # |
  Проголосовать: нравится +17 Проголосовать: не нравится

Еще одна бага контеста, напишу здесь. Уже не первое соревнование такое происходит — когда приходит сообщение о какой-нибудь ошибке в условии или еще о чем-нибудь, то в Chrome заголовок и содержимое этого сообщения отображаются как "undefined", вместо того, которое должно быть.

»
12 лет назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится

Я отправлял задачу C, проверил у себя на всех 53-х тестах, работает правильно, и выдает правильный ответ, но тут она даже не компилируется.Что делать?

  • »
    »
    12 лет назад, # ^ |
    Rev. 4   Проголосовать: нравится 0 Проголосовать: не нравится

    у меня та же проблема была. отправь тоже решение на free pascal

    upd кстати почему такая строчка недопустима в delphi

    var qsqrt,q:int64;
    begin
    {...нечто...}
    qsqrt:=round(sqrt(q));{<-эта строчка}
    {...нечто...}
    end.
    
    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

      пробовал, пишет Comilation error, причем если вместо int64 сделать longint то она скомпилируется, но число q не влезет в этот тип уже на 7-ом тесте, хотя на компьютере работает корректно =(

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится +1 Проголосовать: не нравится

      На Delphi нет sqrt для int64, поэтому отправлять нужно так: sqrt(q+0.0)

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Посмотри протокол компиляции на CF. И выложи его сюда, там посмотрим.

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    А еще переменная-счетчик i не может быть типа int64.

»
12 лет назад, # |
  Проголосовать: нравится +28 Проголосовать: не нравится

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

Вспоминая тему примерно полугодичной давности "контесты <=> алкоголь", я готов поверить, что в не самом адекватном состоянии человек может прекрасно решать контесты :)

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится +7 Проголосовать: не нравится

    Макс наверное температура защищает голову от неправильных мыслей))

»
12 лет назад, # |
  Проголосовать: нравится +39 Проголосовать: не нравится

На мой взгляд, есть вполне объективные причины, по которым раунд должен был бы быть нерейтинговым. А именно, неправильное условие в задаче С, которое было исправлено на 48 минуте контеста и о котором часть участников узнала даже не сразу после объявления, потому что вместо объявления пришел текст "undefined". Учитывая, что для div1 это задача C, которую все-таки многие пытались решать, проблема (вероятно) задела значительное количество участников.

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

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится -12 Проголосовать: не нравится

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

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Я с тобой совершенно согласен, но, кажется, он рейтинговый. Да в рейтинге ли дело? Это же не Yandex Open.

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

      Мой рейтинг упал только на 3, поэтому нет, не в рейтинге. Дело в том, какую планку ставит себе Codeforces для нормального (= рейтингового) раунда.

  • »
    »
    12 лет назад, # ^ |
    Rev. 2   Проголосовать: нравится +29 Проголосовать: не нравится

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

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

    Конечно, этот раунд не был образцовым. Администрация и авторы не имели единогласия относительно рейтинговости этого раунда. Большинством голосов было принято такое решение. Вот почему. Проблемы были более-менее только в одной задаче. Условие было быстро исправлено авторами (10-15 минут). Различие в понимании условия не принципиально меняло решение (т.е. его можно было быстро поправить на правильное понимание). Получилось досадно с undefined, но именно поэтому был добавлен бокс с информацией сверху. Один из сэмплов существенным образом использовал авторский вариант условия, что не привело к сабмитам, основанным на неправильном условии. Мы не считаем, что этот инцидент делает результаты раунда существенно нерелевантными (хотя, конечно, он повлиял на некоторых участников).

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится +39 Проголосовать: не нравится

      А мне кажется, что в нештатных ситуациях, повлиявших на большое количество участников, важно, чтобы жюри и авторы объяснили публично, какие решения в связи с этим были приняты и почему. Тогда в аналогичной нештатной ситуации участники будут хотя бы знать, чего ожидать. Если же, напротив, решения по нештатным ситуациям не объяснять, общий уровень доверия участников падает. Так что логично ожидать такого объяснения и логично его дать. Не то чтобы мы вас заставляли... ;)

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

      • »
        »
        »
        »
        12 лет назад, # ^ |
          Проголосовать: нравится +16 Проголосовать: не нравится

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

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

        Группа Div2-авторов Gerald+Polichka+NALP работают по предложенной мне схеме — двое готовят раунд, один его прорешивает, когда он почти готов. Первый блин там был почти комом, но два других раунда проведенных ими — удались.

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

        • »
          »
          »
          »
          »
          12 лет назад, # ^ |
            Проголосовать: нравится +15 Проголосовать: не нравится

          Спасибо за ответ!

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

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

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

          Наконец, нередко условие перестаёт соответствовать решению, когда что-то меняется в последний момент. Если это не идейное расхождение, а техническое, скажем, разные ограничения в условии и во всём остальном, может помочь памятка вида "когда вы считаете, что задача готова — проверьте эти десять пунктов".

          Наверное, круто было бы организовать, записать и выложить куда-нибудь такие "технические" проблемсеттерские рецепты. Может, кто-то это уже сделал? Отзовитесь тогда!

    • »
      »
      »
      12 лет назад, # ^ |
      Rev. 3   Проголосовать: нравится -34 Проголосовать: не нравится

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

      А вам не кажется, что вы берете на себя роль бога, которого можно только просить?

      Такое ощущение, что не все поняли. По пунктам.

      1. Сообщение явно указывает на необходимость особого обращения. "не соблаговолите ли вы, сударь?"

      2. Сообщение крайне надменно. "как вы вообще посмели?"

      3. Сообщение содержит снисхождение "ладно, так и быть, спущусь с неба".

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

      • »
        »
        »
        »
        12 лет назад, # ^ |
          Проголосовать: нравится -16 Проголосовать: не нравится

        Я думаю, ему можно писать и не из фейкового аккаунта.

      • »
        »
        »
        »
        12 лет назад, # ^ |
          Проголосовать: нравится +35 Проголосовать: не нравится

        По-моему, уж кто надменен, так это те пара личностей, недавно [недо]покинувших кодефорсес, которые почему-то решили, что это они здесь хозяева-баре...

»
12 лет назад, # |
Rev. 3   Проголосовать: нравится 0 Проголосовать: не нравится

What should the output for the following case for problem B (div2) be?

2
2 Alex
12-12-12
99-87-76
2 Mula
22-22-22
99-87-76

My Output is:

If you want to call a taxi, you should call: Alex, Mula.
If you want to order a pizza, you should call: Alex, Mula.
If you want to go to a cafe with a wonderful girl, you should call: Alex, Mula.

System answer is:

If you want to call a taxi, you should call: Mula.
If you want to order a pizza, you should call: Alex, Mula.
If you want to go to a cafe with a wonderful girl, you should call: Alex.

Haven't both Alex and Mula got the same number of phone numbers of each type?

Taxi: Alex 1, Mula 1
Pizza: Alex 0, Mula 0
Girls Alex 1, Mula 1

Can someone please spot the issue with my output. Thanks.

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Ok, I figured the issue. Thanks.

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Taxi numbers consist of six identical digits. 12-12-12 isn't taxi number, that's your fail

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Why? Alex don't has a taxi number, but has "other" number. Both have one pizza number

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

      Yep, I messed up the check for taxi numbers. Thanks.

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

      No. The problem statement says, the numbers of pizza deliveries should necessarily be decreasing sequences of six different digits (for example, 98-73-21) So, 99-87-76 is a call girl number.

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    This was my challenge. Sorry about that!

»
12 лет назад, # |
  Проголосовать: нравится +9 Проголосовать: не нравится

ЧЕЕЕЕЕЕЕРТ!!! Почему я не прочитал то сообщение про задачу С? И все время не понимал почему 2й претест не заходит, думал что написали, что нельзя два отрезка брать. Кто я после этого?

»
12 лет назад, # |
  Проголосовать: нравится +35 Проголосовать: не нравится

forever blue

»
12 лет назад, # |
  Проголосовать: нравится +15 Проголосовать: не нравится

editorials from the author???

»
12 лет назад, # |
Rev. 2   Проголосовать: нравится +5 Проголосовать: не нравится

Could you please give specific examples of confusing phrases in English statements?

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Aw, if you told us when we were preparing our contest months ago with your translation of statements, I would show you some places, we had fixed. But now I even don't remember what were the corrections.

    I think it's good practise to give someone English statements before the contest, so he could fix confusing phrases with you (or with one, who translates statements).

    • »
      »
      »
      12 лет назад, # ^ |
      Rev. 2   Проголосовать: нравится +5 Проголосовать: не нравится

      I usually have a look at the corrections applied to my translations after a contest so don't worry, the odds are I didn't miss those ones!

      Your idea is great but first, sharing problem statements before the contest might be against the Codeforces rules and second, I actually do check the phrases that seem confusing to me. What I'd like to know is what the programmers find confusing...

      Incidentally, do you know anybody who translates statements? I know only one linguist apart from me... Thanks for the sound advice!

»
3 года назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Upsolving the contest after 9 years, still couldn't get what Div. 1 C is asking until I read the comments.