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

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

Привет всем!

Рад приветствовать вас на очередном раунде Codeforces. Надеюсь, что недавняя цветовая революция и несколько более позднее время проведения раунда внесут некоторое разнообразие в процесс решения задач:)

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

Всем удачи.

UPD.

Раунд окончен, рейтинги пересчитаны.

Победители div1:

1. Egor

2. tourist

3. unicef

4. sevenkplus

5. ivan.popelyshev


Победители div2:

1. RainbowDash

2. cjtoribio

3. miraliv

4. adrian.jaskolka

5. majia5

Ура!

Разбор задач.

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

12 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
расценка задач стандартная?
12 лет назад, # |
  Проголосовать: нравится +13 Проголосовать: не нравится
Thanks :) I would like to remind all Div2 coders who are aiming for Div1 today, now violet starts from 1700, not 1650.
 
12 лет назад, # |
Rev. 4   Проголосовать: нравится +2 Проголосовать: не нравится

У нас в Казахстане в Атырау контест будет до 00:00 o_o в некоторых других регионах страны будут до 01:00 писать. 

  • 12 лет назад, # ^ |
      Проголосовать: нравится +4 Проголосовать: не нравится
    у нас в Сибири до трех ночи...
  • 12 лет назад, # ^ |
      Проголосовать: нравится +13 Проголосовать: не нравится
    Нет такого времени, в которое всем бы удобно было писать. Однако теперь контесты, судя по всему, будут проходить в разное время, так что каждый сможет написать хотя бы часть контестов
    • 12 лет назад, # ^ |
        Проголосовать: нравится -8 Проголосовать: не нравится
      "Однако теперь контесты, судя по всему, будут проходить в разное время, так что каждый сможет написать хотя бы часть контестов"
      По-моему, тех, кому удобно писать в будний день в 10.00 МСК (как 15.11) должно быть очень мало.
      • 12 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        Удобно, например, студентам, у которых вторая смена и которые еще не работают.
      • 12 лет назад, # ^ |
          Проголосовать: нравится +4 Проголосовать: не нравится
        Удобно всем, кто работает или учится вечером.
  • 12 лет назад, # ^ |
      Проголосовать: нравится +2 Проголосовать: не нравится
    У нас в Астане до 01:00
12 лет назад, # |
  Проголосовать: нравится -6 Проголосовать: не нравится
I really like your contests, not all, because of long statements. But in my opinion you are professional on creating contests... I am about Ripatti.
12 лет назад, # |
Rev. 2   Проголосовать: нравится +11 Проголосовать: не нравится

Just a reminder, a contest starting at 1:00am or 2:00am local time is really inconvenient for the people live in East Asia. 

12 лет назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится
Is it possible to unofficially join the round? because I will join a little late so I wouldn't like it to affect my rating but would still like to solve in real time.
12 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
for Chinese coder..the contest start at 1:00 am local time = =!
what's worse!!
for an Australian...the contest start at 3:00 am local time ><!
  • 12 лет назад, # ^ |
      Проголосовать: нравится +15 Проголосовать: не нравится
    The contest will always start at a bad time at some place in the world. In Brazil, the "traditional" time is always lunch time, so sometimes we don't eat in order to participate.
    That's why I like when the contest time vary a lot, like TopCoder. If it's not a good time for you today, it will probably be a good time in the next round.
    • 12 лет назад, # ^ |
        Проголосовать: нравится +4 Проголосовать: не нравится
      I agree with that. Even though most of the time, CF times suite me best (around 7/8 PM), but I agree that it will always be bad for some participants and varying it for each competition would make sure that not the same lot is always at receiving end of the bad timing.
      • 12 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        Don't forget that it is a Russian website. Currently 1152 members are from Russia. I think that this time is perfect for the most of participants.
        • 12 лет назад, # ^ |
          Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

          But this is an international site right where most participant are outside russian. I think CF must anticipate contest time. most in Indonesia CF contest start at 10 PM and now it start on 12 AM.

          Well thats my opinion :))
  • 12 лет назад, # ^ |
      Проголосовать: нравится -29 Проголосовать: не нравится
    伤不起。。。
12 лет назад, # |
  Проголосовать: нравится +48 Проголосовать: не нравится
Когда мы TopCoder решаем в 5 утра - никто не жалуется :)
12 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Is it normal that Div2 contestants are 4x times more ? 
12 лет назад, # |
Rev. 2   Проголосовать: нравится +14 Проголосовать: не нравится

О, контест Ripatti, сразу вспоминается задача про химические элементы :)

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

When trying to hack I'm being put on standard bug page

12 лет назад, # |
  Проголосовать: нравится +15 Проголосовать: не нравится
Даже не зная, кто автор матча, автора задачи А (и человека, решившего, что это А), угадать несложно.
12 лет назад, # |
  Проголосовать: нравится -8 Проголосовать: не нравится
Блииин такие классные и интересные задачи, а я забыл зарегистрироваться =((
12 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Можете подсказать насчёт отправки задачи.
Я отправил решение по второй, проверил на примерах, всё работало. Но после отправки выдаёт ошибку на претесте 1. Если кто-нибудь знает в чём проблемма подскажите. Такое уже не первый раз.

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

    думаю что у вас где то ошибка в округлении...

    лучше прочитайте выходные данные заново ;)
  • 12 лет назад, # ^ |
      Проголосовать: нравится +3 Проголосовать: не нравится
    Сделай запуск online и посмотри на чём падает...
12 лет назад, # |
Rev. 2   Проголосовать: нравится +3 Проголосовать: не нравится

я убил себе мозг поиском ошибки в задаче (C div. 2/A div.1)...

уже 9 неверных отправок

не нравится мне 8 претест

  • 12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Насколько я понял, у всех баги из-за переполнения инта в промежуточных вычислениях.
    • 12 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

      похоже на то

      но я ещё кроме целочисленного посылал с double решение но оно тоже падало на 8 претесте

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

      Скорее тест 1 1 1 1 1

      Хотя нет, на нем же хакать можно

  • 12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    У меня финальный баг был в том, что если в правильном ответе y1 = 0, то не надо делать y2 минимально возможным.
12 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Первый претест в задаче D (див2) из условия? Если да, у меня почему-то на нем неправильный ответ. Во вкладке запуск все Ок.
12 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
В задаче D (div. 2) искомые подстроки могут пересекаться?
12 лет назад, # |
Rev. 2   Проголосовать: нравится +6 Проголосовать: не нравится

C div 2(A div 1) и D div 2(B div 1) imho надо было местами поменять

Да и A с B в div 2 тоже

В целом контест неплохой :)

  • 12 лет назад, # ^ |
      Проголосовать: нравится +3 Проголосовать: не нравится
    Не беря в расчет актуальную задачу А в див. 1 - задача А на z-функцию - это уже нормально считается? оО
    • 12 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      Может еще хеши пройдут :о(
      • 12 лет назад, # ^ |
          Проголосовать: нравится +3 Проголосовать: не нравится
        конечно пройдут )
      • 12 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        А вот бин поиск тут не катит, по ответу нет монотонности. я хешами делал, но по-другому.
        • 12 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится
          Бинпоиск валился еще на претестах.
          • 12 лет назад, # ^ |
            Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

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

            Простите, не заметил, что ниже то же самое уже написано. =)

        • 12 лет назад, # ^ |
            Проголосовать: нравится +6 Проголосовать: не нравится
          У меня волшебный бинпоиск, ему класть на монотонность :о)
          • 12 лет назад, # ^ |
              Проголосовать: нравится 0 Проголосовать: не нравится
            а расскажи плз про бинпоиск в этой задаче. И какой он у тебя)
            • 12 лет назад, # ^ |
                Проголосовать: нравится +6 Проголосовать: не нравится
              Сначала за линию найдем все префиксы, которые равны суффиксам, а потом уже среди них бинпоиском найдем такой, который встречается еще и в строке.

              • 12 лет назад, # ^ |
                  Проголосовать: нравится 0 Проголосовать: не нравится
                ==================================
                А бин поиск по чему?
                • 12 лет назад, # ^ |
                    Проголосовать: нравится +11 Проголосовать: не нравится
                  По длине строки. Точнее, все строки, для которых суффикс равен префиксу, уже сложены в массив и аккуратно отсортированы, и бинарный поиск идет по индексу в массиве.
                  Проще код посмотреть :о)
                • 12 лет назад, # ^ |
                    Проголосовать: нравится +5 Проголосовать: не нравится
                  Вот он, тред любителей хешей.

                  BECEJIb4AK_U, а у тебя линейный поиск зашел по длинам, если я правильно прочитал твое решение? Там строки такие замечательные, что ответ быстро находится?
                  • 12 лет назад, # ^ |
                      Проголосовать: нравится 0 Проголосовать: не нравится
                    =======================
                    Да, длины я перебираю все по убыванию, при совпадении хэшей префикса и суффикса пробегаю и считаю хэши внутренних подстрок.
                    • 12 лет назад, # ^ |
                        Проголосовать: нравится 0 Проголосовать: не нравится

                      ==================

                      Блин, я тоже так делал, только по возрастанию делал и получил тл51, поменял на убывание и сразу прошло((

      • 12 лет назад, # ^ |
          Проголосовать: нравится +1 Проголосовать: не нравится
        Хеши прошли :)
    • 12 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      Я хэшем забацал. Посмотрим, пройдёт ли.
    • 12 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      Смотря что брать за норму, но мне она показалась достаточно простой
12 лет назад, # |
  Проголосовать: нравится -19 Проголосовать: не нравится
что за раунды пошли: один хуже другого....((
  • 12 лет назад, # ^ |
      Проголосовать: нравится +38 Проголосовать: не нравится
    Есть проблемы с балансировкой сложности, но сами задачи - просто шик
    • 12 лет назад, # ^ |
      Rev. 3   Проголосовать: нравится -14 Проголосовать: не нравится

      ну просто раунд #91 и #93 вообще в сравнение никак не идут...

      P.S. да и не все любят такие математические задачи

      P.S.S и как бы A(div2)-1130человек, В(div2)- 1078человек, С(div2)-152человека, ниче себе так разрывчик

  • 12 лет назад, # ^ |
      Проголосовать: нравится +5 Проголосовать: не нравится
    Отличный раунд, правда несколько сложноват
12 лет назад, # |
Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

Что надо написать в параметрах генератора. Из за этого я не смог взломать ( .

  • 12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    параметры с которыми должен запускаться твой исходник... можно оставлять пустым...
12 лет назад, # |
  Проголосовать: нравится +5 Проголосовать: не нравится
Капец.... 20 секунд не хватило чтобы сдать D.
12 лет назад, # |
  Проголосовать: нравится +3 Проголосовать: не нравится
Кто как решал C?
  • 12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Там можно идти из двух углов. Если ты встречаешь единицу, ты обязан сходить в нее, потому что все клетки выше и правее (ниже и левее соответственно для другой половины) уже рассмотрены и единиц не содержат.
12 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
А за ошибки в тестах из условия теперь снимают баллы?
12 лет назад, # |
  Проголосовать: нравится +3 Проголосовать: не нравится
Извините, я тут недавно.
Через сколько примерно времени будут результаты системного тестирования?
12 лет назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится
На что похож шестой претест на А? 
12 лет назад, # |
  Проголосовать: нравится +11 Проголосовать: не нравится
в конце контеста жестокая битва была между tourist-ом и Egor-ом за первое место :D
  • 12 лет назад, # ^ |
      Проголосовать: нравится -8 Проголосовать: не нравится
    Ну, я Егору специально D подарил :)
    • 12 лет назад, # ^ |
        Проголосовать: нравится +12 Проголосовать: не нравится
      В смысле?
      • 12 лет назад, # ^ |
          Проголосовать: нравится +11 Проголосовать: не нравится
        Я надеюсь, это фигура речи. Там было сравнительно тупое решение с мемоизацией
      • 12 лет назад, # ^ |
          Проголосовать: нравится +3 Проголосовать: не нравится
        Да, конечно, это фигура речи. Имелось в виду - послал решение, не особо надеясь, что оно пройдёт систесты или хотя бы не будет взломано.
12 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Здравствуйте.

Получил для третьего теста из задания C ответ (109 78). Верный ли он? Предполагаемый ответ (76 54) имеет меньшую суммарную скорость наливания.

Заранее благодарю.

P. S. (109*143 + 78*456) / (109+78) = 273.5561 > t0 = 273
  • 12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    прочитайте еще раз условия
    • 12 лет назад, # ^ |
        Проголосовать: нравится -6 Проголосовать: не нравится
      если человек написал такую длинную формулу, то условия-то уж он наверно прочёл
  • 12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    при авторском ответе - температура ближайшая к t
  • 12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    В первую очередь температура должна быть максимально близка к т0, а потом уже нужно максимизировать скорость.
12 лет назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится
Could anyone give me a hint on the theory behind div2 D/div1 B, is it suffix trees? Or some variation on KMP?
  • 12 лет назад, # ^ |
      Проголосовать: нравится +1 Проголосовать: не нравится
    Some variation of "z-algorithm" probably.
    Here is a solution that uses hashing: if t is the answer, then it's a prefix of s and a substring of s[1..len(s) - 1]. Moreover, each prefix of t satisfies this condition. So one can find the longest t with binary search: checking if one string is a substring of another (fixed) string can be done in linear time with hashing.
    Now you need to find the largest prefix of t that is also a suffix of s. Again, linear time and hashing.
  • 12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    I solved it with KMP.  I computed the inverse of the failure function and stored it in a balanced BST.  Then iterate over all prefixes p of s which are also suffixes, and examine whether p appears in the middle of s.
  • 12 лет назад, # ^ |
    Rev. 2   Проголосовать: нравится +3 Проголосовать: не нравится

    It is solvable by KMP. You must count the length of the maximal prefix that is also a suffix for each position, let's say in table p. Then you are interested in checking if p[n-1] is also somewhere in the middle (if p[n-1] = 0 the answer is NO). To check this, it's enough to count the number of positions where p[i] = p[n-1]. If there is more than one such position it means that we have found substring somwhere in the middle. If not, then you must use the fact that another maximal prefix that is also a suffix is p[p[n-1]-1]. You check if it's greater than 0, if yes than you have your substring otherwise, the answer is NO.

12 лет назад, # |
  Проголосовать: нравится +3 Проголосовать: не нравится
"The display rows are numbered with integers from 1 to n upside down"

Oh, you meant it literally :)
12 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

как решалась C(div2)?

  • 12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    ну я думаю можно перебирать например для каждого положения крана холодной воды бинпоиском находить положение для горячего крана. поправьте меня если я неправ
    • 12 лет назад, # ^ |
        Проголосовать: нравится +1 Проголосовать: не нравится
      Бин.поиск не нужен, можно посчитать за О(1)
      • 12 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится

        а ну да действительно

        но бинпоиском по времени тоже должно проходить если правильно все написать))

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

        Я указателями двигался, с учетом монотонности функции - вроде правильно.

        Можно готовую формулу?

        • 12 лет назад, # ^ |
            Проголосовать: нравится +5 Проголосовать: не нравится
          можете обьяснить свое решение?
          • 12 лет назад, # ^ |
              Проголосовать: нравится +1 Проголосовать: не нравится

            Посчитаем для каждого возможного количества воды из первого крана, какое минимальное количество воды надо взять из второго, чтобы при смешивании получилась температура, которая нам подходит. Если нельзя взять столько воды (например, краны 10 и 20 градусов, надо температуру 20, а из первого что-то взяли), то определим функцию как x2+1

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

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

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

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

      y= y1 * (t0 - t1) / (t2 - t0)

      • 12 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        Дополню, что нужно это округлить вверх до целого
        • 12 лет назад, # ^ |
            Проголосовать: нравится +6 Проголосовать: не нравится
          И упасть на претесте 6 :о)
          • 12 лет назад, # ^ |
            Rev. 2   Проголосовать: нравится +1 Проголосовать: не нравится

            Не факт. У меня на 6 претесте падало, когда я неправильно обрабатывал случай t1 == t0 == t2.

            PS. Я не прав.

          • 12 лет назад, # ^ |
              Проголосовать: нравится 0 Проголосовать: не нравится
            Эм, крайние случаи разбираются отдельно, естественно.
            а именно y1=0 в данном месте, и еще парочка раньше
          • 12 лет назад, # ^ |
              Проголосовать: нравится 0 Проголосовать: не нравится
            Так таки что там было?
12 лет назад, # |
Rev. 2   Проголосовать: нравится -13 Проголосовать: не нравится

Сдал на последней секунде задачу D (div.2), не знаю правильно или нет... Но условие там сформулировано не очень. Не беря в расчет опечатки ("Суффикс считал, что строки t должна быть"), там написано "Обеликс же посчитал, что t должна ..., то есть не являться ни ее началом, ни ее концом" - если чисто логически/математически подумать, то в таком случае всегда ответ "Just a legend", потому что нельзя удовлетворить всех.

  • 12 лет назад, # ^ |
      Проголосовать: нравится +1 Проголосовать: не нравится
    Это еще почему?
    • 12 лет назад, # ^ |
      Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

      Потому что t - результатирующая строка, по условию "должна" "не являться ни ее началом, ни ее концом".

      P.S. Конечно из тестов видно, что это не так... но в целом условие получается противоречивое.

      • 12 лет назад, # ^ |
          Проголосовать: нравится +2 Проголосовать: не нравится
        По мнению Обеликса, а не сам ответ, вчитайтесь внимательнее.
        • 12 лет назад, # ^ |
          Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

          Из условия: "Астерикс выбрал подстроку t так, чтобы угодить всем своим спутникам", т.е. t должна удовлетворять мнению Обеликса.

          Из того же условия: "Выведите строку t", т.е. t - есть сам ответ.

          • 12 лет назад, # ^ |
              Проголосовать: нравится 0 Проголосовать: не нравится
            Она должна удовлетворять мыслям всех трех героев, но не сказано, что это должна быть одна и та же подстрока, в этом и соль задачи, что надо найти подстроку максимальной длины, которая бы встречалась минимум три раза в исходной строке, а именно стояла в самом начале, в самом конце, а также в середине, то есть не являясь концом и началом строки одновременно.
            • 12 лет назад, # ^ |
              Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

              Из условия: "Астерикс выбрал подстроку t так, чтобы угодить всем своим спутникам.", т.е. t - это одна строка, а не несколько.

              P.S. t - это набор символов и не более. ;)

12 лет назад, # |
  Проголосовать: нравится +30 Проголосовать: не нравится
C for div2 and A for div1 was very tough! :|
12 лет назад, # |
Rev. 2   Проголосовать: нравится +2 Проголосовать: не нравится

Жду не дождусь увидеть этот коварный 6 претест в C(div 2) ;D

UPD: P.S Сегодня определенно не мой день, надо было D делать а не бессмысленно париться с C, спасибо за отличный раунд, буду делать выводы.

  • 12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    там ответ (0  X2)  (причем температуры все разные) вроде
12 лет назад, # |
  Проголосовать: нравится +14 Проголосовать: не нравится
Отличные задачи, спасибо за контест!

Хотя немного обидно, что D есть в OEIS. Кстати, это помогает? Я что-то не пойму.
  • 12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    если верить в то, что это никто не использовал, то совсем не обидно...
  • 12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Ну в любом случае там не очень сложная динамика. Мне С показалась сложнее.
  • 12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Та формула, что там есть, у меня вообще не заработала.
    Потом я нагуглил эту статейку, написал изложенную там формулу и в итоге получил TL 24.
    Так что OEIS и Google на этот раз никак не помогал. Наверное, автор был в курсе этого чита, поэтому специально сделал такой формат ответа (10^5 тестов внутри одного), чтобы формула не проходила.
12 лет назад, # |
Rev. 3   Проголосовать: нравится 0 Проголосовать: не нравится

Никак не пойму, почему в C (Div2) (3 претест) ответ будет не "114 81"

Т.к. вроде они одинаково приближены к t0:
(143*76+456*54)*(114+81) = 6920940
(143*114+456*81)*(76+54) = 6920940
Исправьте пожалуйста, где я ошибся?

UPD: 114 больше 110 =) Спасибо SkidanovAlex!
  • 12 лет назад, # ^ |
      Проголосовать: нравится +2 Проголосовать: не нравится
    Думаю, нужно делить:) 
    • 12 лет назад, # ^ |
        Проголосовать: нравится +7 Проголосовать: не нравится
      Думаю, нужно заметить, что он умножает на знаменатель от другого ответа. Поэтому с этой точки зрения все верно.
  • 12 лет назад, # ^ |
    Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

    Потому что на 114+81 надо делить, а не умножать. Хотя с этим претестом все равно что-то не так. Если считать всё целочисленно (умножить обе части неравенства на y1+y2), то получается, что при y1=38, y2=27 t ближе к t0, чем при y1=76, y2=54.

    Ой, затупил, так считать нельзя :(

  • 12 лет назад, # ^ |
      Проголосовать: нравится +14 Проголосовать: не нравится
    114 немного больше 110. В остальном хороший ответ
  • 12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    там не (143*76+456*54)/(114+81) ?
  • 12 лет назад, # ^ |
    Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

    дабл

12 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Ну конечно с С я дров наломал( Давно так не парился...
12 лет назад, # |
  Проголосовать: нравится +2 Проголосовать: не нравится
Start the system testing :)
12 лет назад, # |
  Проголосовать: нравится +18 Проголосовать: не нравится
Really cool problemset. Congrats Ripatti!

Eagerly waiting the editorial. xD
12 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Is it just me or that Div 1 systests aren't moving?
  • 12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    I think I got it, the big number of submissions in Div 2 and the small number of submissions in Div 1 is making grading Div 1 submissions slow.
12 лет назад, # |
  Проголосовать: нравится +9 Проголосовать: не нравится
what is "Denial of Judgement" ?
12 лет назад, # |
  Проголосовать: нравится +11 Проголосовать: не нравится
Два отказа тестирования это ведь не очень плохо?
  • 12 лет назад, # ^ |
    Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

    Потом все проверят... У меня лично их было вроде штуки 3...

12 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Не знаю баг это или что, но у меня время в статусе показывается то от начала контеста то дата и время. Выглядит крайне странно.
  • 12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    у меня всегда так бывает)
    я еще не понял по какой закономерности это меняется :о)
12 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

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

  • 12 лет назад, # ^ |
      Проголосовать: нравится +19 Проголосовать: не нравится
    Так кажется, просто тестируется Div1+Div2, а в Div2 очень много ранних попыток. Сегодня у нас много новевведений, поэтому контестер работает в safe mode: работает не на полную мощность, на следующем раунде будет побыстрее.
    • 12 лет назад, # ^ |
        Проголосовать: нравится +15 Проголосовать: не нравится
      Нельзя ли проводить сначала тестирование div1? Должны же быть у первого дивизиона хоть какие-то привилегии! :)
      • 12 лет назад, # ^ |
          Проголосовать: нравится +11 Проголосовать: не нравится
        При любом раскладе на мой взгляд целесообразнее тестировать по очереди, тогда один из дивизионов узнает свой результат в 2 раза быстрее :) А т.к. второй див многочисленнее и задачи там сдаются более активно, думаю первый див будет теститься чуть быстрее (в среднем) ^_^
12 лет назад, # |
Rev. 2   Проголосовать: нравится -18 Проголосовать: не нравится

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

12 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
И я думал, прошлый систест был медленный. Кто-нибуть видел фразу Time limit on test 100500, или это что-то связанное с системой, а не с количеством тестов? А то 3% за полчаса((
  • 12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    49% div2. А div1 долго ничего не сдавали почти
  • 12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Прочтите мой комментарий выше. В настоящий момент средняя скорость финального тестирования более 1.5 попыток в секунду. Это медленно? :)
    • 12 лет назад, # ^ |
        Проголосовать: нравится +8 Проголосовать: не нравится
      Прошу прощения, как-то не заметил этот комментарий и путь от 1% к 3% DivI мне показался очень длинным. Теперь визуально гораздо быстрее.
      1.5 посылок в секунду - это конечно быстро. А сколько в среднем посылок за контест? Порядка 3000?
      • 12 лет назад, # ^ |
          Проголосовать: нравится +8 Проголосовать: не нравится
        Сегодня на финальное тестирование было отправлено 3291 попытки.
12 лет назад, # |
  Проголосовать: нравится +5 Проголосовать: не нравится
i am interested in what was 6th test at C for div 2 and A for div 1
12 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
For div2 C, I expanded the equation and got:
y1/y2 = -(t0-t2)/(t0-t1)
What were the conditions for the solution ?!
Thanks :-)
12 лет назад, # |
  Проголосовать: нравится +6 Проголосовать: не нравится
Решил во избежание неприятностей написать в B двойной хеш.
В результате получился такой код:
  1. if (prefixHash1 * p1[n-len] != suffixHash1 && prefixHash2 * p2[n-len] != suffixHash2) {
  2. return -1;
  3. }
Моя невнимательность в два раза повысила шансы коллизий (правильно || вместо &&). К счастью, авторы не валили хеши, и я жив)
  • 12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    А не проще вместо второго хэша проверить на реальное соответствие перед выводом ответа?
    • 12 лет назад, # ^ |
        Проголосовать: нравится +5 Проголосовать: не нравится
      Нет, тогда мы можем вывести No solution, а ответ существует при меньшей длине.
      • 12 лет назад, # ^ |
        Rev. 3   Проголосовать: нравится 0 Проголосовать: не нравится

        А... ну тогда надо делать не break/return из цикла при не прохождении проверки на четкое соответствие, а continue.

        P.S. Просто с хешами всегда проще и лучше перепроверять ответ.

  • 12 лет назад, # ^ |
      Проголосовать: нравится +10 Проголосовать: не нравится
    Хеши валят не авторы обычно...
12 лет назад, # |
  Проголосовать: нравится +38 Проголосовать: не нравится
Время, которое я потратил на каждую из задач
A -- 31.13
B -- 29.11
C -- 28.11
D -- 27.48

Что-то не так со сложностью :о)
  • 12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Мне кажется, что обычно в начале контеста мозги немного "не разогретые", и А кодится немного дольше, чем могла бы. И если это что-то простое, то разница между 3 и 5 не велика, но между 18 и 30 уже значительна. По крайней мере,у меня появилась такая гипотеза из-за А последних 2 раундов, где они были сложнее обычного и в табличке сдач по скорости находились на 3-4 месте.
  • 12 лет назад, # ^ |
      Проголосовать: нравится +23 Проголосовать: не нравится
    Похожая ситуация:
    A - не сдал (упало на систестах, ну ладно, сам тупой)
    B - сдал с +2 за 49 минут
    C - сдал с +1 за 19 минут
    D - сдал с + за 17 минут.
    "Что я делаю не так?" :)
12 лет назад, # |
  Проголосовать: нравится -15 Проголосовать: не нравится

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

Точнее, за тесты. У меня прошло неверное решение, в котором классический баг (забыл забрать с этапа дебага) - слишком маленькое основание хэша.

У меня вместо 47 оставлено 17. Это меньше размерности алфавита, и очень легко поймать коллизию. 

Т.е. строки типа 18-1 (18ая буква и 1ая буква) и 1-2 (первая буква алфавита и вторая буква алфавита) считаются равными.

  • 12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Большее основание хеша не делает Ваше решение гарантированно правильным. Потому классический баг, ИМХО, заключается в отсутствии итоговой проверки на равенство без хешей, а не в маленьком основании.
    • 12 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      Но такая проверка может увеличить асимптотику (не в этой задаче).
      • 12 лет назад, # ^ |
          Проголосовать: нравится +5 Проголосовать: не нравится
        Если проверять константное количество случайных элементов, то асимптотика сохраняется, но контртесты исчезают.
        • 12 лет назад, # ^ |
            Проголосовать: нравится +1 Проголосовать: не нравится
          Да, но если не проверять полное совпадение, вероятность контртестов остаётся ненулевой. Тогда уж можно просто взять хэши по двум основаниям.
          • 12 лет назад, # ^ |
            Rev. 2   Проголосовать: нравится +5 Проголосовать: не нравится

            Если вы выбираете случайные элементы, то контртеста нет. Может случиться, что возникнет ошибка, но только если рандом сойдется очень неудачно. Но такого на наборе из 100-200 тестов не случится. То есть, упадет не из-за того что составители тестов молодцы, а из-за неудачного стечения обстоятельств.

    • 12 лет назад, # ^ |
        Проголосовать: нравится -16 Проголосовать: не нравится
      Во-первых.
      Всегда, когда писал хэши, брал основание порядка 1000, но простое и писал в int64. Помню только один случай, чтобы такой хэш упал из-за коллизии.
      Во-вторых. 
      Конкретно в этой задаче хэши не нужны.
12 лет назад, # |
Rev. 3   Проголосовать: нравится -6 Проголосовать: не нравится

В прошлом комментарии ошибка.

12 лет назад, # |
  Проголосовать: нравится +7 Проголосовать: не нравится
Давненько не видел стольких завалов на системном тестировании,столько красного цвета-_-
На самом деле хорошие и интересные задачи,но по мне там все таки C div 2(A div 1) стояла не на своем месте,ей бы стоило быть по крайне мере D(B).
12 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Все-таки А это далеко не 500-ка. Можно было в B поменять условие так, чтобы заходил бинпоиск по длине и хэши, чуток снизить ограничения и это была бы почти А. А А сделать B :)
  • 12 лет назад, # ^ |
    Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

    Как уже выше говорили, функция ответа от длины не монотонна. А n log n с хешами  и так заходило.


    • 12 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      Я знаю человека, у которого два вложенных цикла зашло. На первый взгляд n^2, но такой тест подобрать ещё надо...
12 лет назад, # |
  Проголосовать: нравится +11 Проголосовать: не нравится
Урра!!! Снова красный :))))
12 лет назад, # |
  Проголосовать: нравится +4 Проголосовать: не нравится
если б не реформа!
12 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
For DIV-1 B, is it expected that an suffix array algorithm + binary search (each iteration run a linear scan) (O(N lg N)) will get TLE?
Is anyone who AC this problem by suffix array + binary search?
I just wanna know, whether my code have some logical bug, or it is just too slow for this contest.
  • 12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Suffix Array has complexity NlogN with big constants, even when Suffix Array si NlogN it requires a lot of optimisation to get it work here. NlogN = 1,000,000*20 = 20MM, but looking your loops it seams ~4NlogN or greater ~ 80MM, adding the binary search for searching the string in places it tooks more than 100MM which is near TLE
    • 12 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      So a code with a smaller constant in the SuffixArray+LCP+etc construction may AC?
      If so, I will try to optimize the code later to see if it is the case later.
      • 12 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        Yes your are right, although i dont know if you can do a suffix array with lower constant, mine is higher than yours, and i ran you solution in my laptop with a big testcase and ran ~1s, don't trust it though but when trying optimising, try the case
        generated here

                for(int i = 0; i < 1000000; ++i)
                    s[i] = (i%2 ? 25-i%26 : (i%26))+'a';
      • 12 лет назад, # ^ |
          Проголосовать: нравится +1 Проголосовать: не нравится
        oh sorry i found a worstcase where you solution get a bad time like 4s

                for(int i = 0; i < 1000000; ++i)
                    s[i] = (i%100 ? 25-i%26 : (i%26))+'a';

        i think is really hard to optimise it, probably imposible :/
    • 12 лет назад, # ^ |
        Проголосовать: нравится +3 Проголосовать: не нравится
      Suffix Array has complexity NlogN

      That's improper suffix array. Proper Suffix Array is linear :)

      • 12 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        cool, knowing something like that is interesting for me, i would like to learn such a suffix array :p could you point some info abaout it. I based my argument in chhung6's code and mine, but i have heard about linear suffix array, but is never late to learn :)
12 лет назад, # |
  Проголосовать: нравится +8 Проголосовать: не нравится
Серия эпичных багов продолжается.
if (t2 == t0) {
    out.println(0 + " " + t2);
    return;
}
  • 12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Не одно такое решение я свалил :)
  • 12 лет назад, # ^ |
      Проголосовать: нравится +3 Проголосовать: не нравится
    Но я специально на такой случай оставил задачу не заблокированной, и мне нашли баг :)
  • 12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Такая же ошибка была. Повезло мне, что взломали.
    • 12 лет назад, # ^ |
        Проголосовать: нравится +5 Проголосовать: не нравится
      Мне тоже сначала взломали, я поправил и отослал. К сожалению, там было t2 == x2, а во второй раз опечатку никто не заметил.
12 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Как ведется расчет рейтинга по итогам этого контеста? Я первый раз участвовал в соревновании и мне начислили 1445 очков рейтинга. Не слишком это много для двух решенных задач?
12 лет назад, # |
  Проголосовать: нравится +3 Проголосовать: не нравится
Задача А выявила код, дающий разные ответы на gnu и mvc :(
  • 12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    В чём, думаешь, причина? В сравнении double'ов?

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

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

      странно, до этого был обнаружен код, где mvc в отличие от gnu коряво работает с double, теперь вот наоборот...

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

        Удивительно. Я сталкивался только с сильно разным временем работы.


        Напиши организаторам, пусть зачтут.


        Я для интереса проверю твой код у себя, но завтра.
        • 12 лет назад, # ^ |
            Проголосовать: нравится +3 Проголосовать: не нравится
          код, который на контесте неправильный, нечего засчитывать :) это просто в дорешке вылезло (код)
      • 12 лет назад, # ^ |
          Проголосовать: нравится +6 Проголосовать: не нравится
        Может дело в никнейме? :)
  • 12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    продолжение

    ещё один код, работа с double, mvc - ac, gnu - fail.

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

По задаче С:

Походу перебор всех состояний холодной воды О(х1) и нахождение для  каждого состояние количество теплой воды за О(1) не катит.  

  • 12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    y1=0 =/> y2=0
    учитываете?

    + разбор вариантов с t1=0 / t2=0 в разных комбинациях.
12 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Слив в лучшихх традициях :o)
12 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
My solution for D works on my computer and on "Custom Test", but not on the grater.
Any ideas for what might cause that kind of error?
12 лет назад, # |
  Проголосовать: нравится -8 Проголосовать: не нравится
I am blue for the first time.Thanks Ripatti for preparing such beautiful problems.Took me 13(my lucky number)contests to turn it blue
12 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
-1 к рейтингу, умудрился же так эпически(
12 лет назад, # |
  Проголосовать: нравится +2 Проголосовать: не нравится
My solution gives correct output on my computer and different output on judge for tes-31 of prob-C of div2.[Involves floating point comparisons]
Does it have anything to do with optimizers ?
  • 12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Same thing, but my code fails case 11. which has a input "1 1 100 100 1" and i got correct answer "100 0" to the case on my computer. Other people who passed the problem output "100 100" just the same to mine output here.
12 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

подскажите по задаче С(2див)

Там можно было просто посчитать (t2-t0)/(t0-t1) и перебирать y2

а y1=y2*(t2-t0)/(t0-t1)

и потом считать какое меньше всех отличаеться после округления.  

12 лет назад, # |
  Проголосовать: нравится +3 Проголосовать: не нравится
Пипец... Прилег на 5 минут перед контестом... Только проснулся.
Задачки хоть интересные были?
12 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Оптимизатор 2005-го вижака меня разочаровывает, поставьте себе наконец чего-нибудь поновее.
  • 12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    AFAIK на наших контестерах пробовали внедрить 2008-й вижак, но в итоге оказалось, что в нём всё только гораздо медленнее - видимо, т.к. STL стала тормознее. И в итоге откатились обратно к 2005-й. Не знаю, возможно, с этой тормознутостью можно бороться какими-то флагами компилятора...

    (Правда, есть вариант сделать доступными обе версии на выбор - как с G++ поступили)

    • 12 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      А как с g++ поступили? У нас только одна версия: 4.6
  • 12 лет назад, # ^ |
      Проголосовать: нравится +4 Проголосовать: не нравится
    Не знаю, кого как, а меня только радует.
    Раньше, когда я тестил свои решения локально под релизом (Visual Studio 2008 Express) и в запуске, например, в этой задаче, то они работали примерно равное время с точностью до 0.1-0.2 с.

    А вот вчера я немного затупил и вместо массива used использовал set на 10^6 чисел в задаче B. Просто сет у меня локально работал 1.55 с., а вместе с решением вообще получал TL на строке из 10^6 букв 'a'. Однако на сервере решение зашло за 0.69 неожиданно для меня.

    Связано ли это как-то с оптимизатором или сервер и вправду настолько шустрый?
12 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Кто нибудь подскажите идею динамики D(div 1)? Понятно, что чисел Фиббоначи меньших 1018 буквально 87 штук. Но что с ними делать дальше?Никак не могу придумать дальше. Спасибо!
  • 12 лет назад, # ^ |
    Rev. 2   Проголосовать: нравится +1 Проголосовать: не нравится

    Все достаточно просто - есть стандартная динамика a[i][j], где i - номер позиции в системе счисления, j - разница между записанным в 1..i числом и тем, что надо получить. В этой задаче можно заметить, что получаемые j в фибоначчиевой системе счисления записываются как a_1*fib[i] + a_2*fib[i+1] + a_3*fib[i+2] + a_4*fib[i+3], 0 <= a_k <= 1. 

    Дело в том, что fib[i+4] и больше разницы будет иметь ответ 0.

12 лет назад, # |
  Проголосовать: нравится -12 Проголосовать: не нравится
In problem C in Div-2,
how can we recognize that the bath is going to be fulled? there is no data about bath size :?
  • 12 лет назад, # ^ |
      Проголосовать: нравится +11 Проголосовать: не нравится
    If you maximize y1+y2, that is the amount of water/s you send in, surely the bath will be fulled as fast as possibly.
12 лет назад, # |
  Проголосовать: нравится +3 Проголосовать: не нравится
А разбор будет? Я все жду и жду)
  • 12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Особенно, разбор Е. Очень хочется узнать, как же там перебор-то правильно оптимизить. Понятно, что вроде C(38,9) не очень много, 2^28 тоже не очень много, но на ТЛ хватит.
12 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
hey all .... i am having RTE in problem -4 (div-2) on test-25. i am leaving ma code here.. plz some one help me getting a AC.


#include<stdio.h>
#include<iostream>
#include<string>
#include<string.h>
#include<cmath>
#include<vector>
#include<queue>
#include<stack>
#include<algorithm>

using namespace std;

string s;

vector<int>v[333];


bool if_true(int mid,int dis){
    int i;
    for(i=0;i<=dis;i++){
        if(s[i]==s[mid+i] && s[i]==s[s.length()-1-dis+i])continue;
        else return false;
    }
    return true;
}

int main()
{
//    freopen("sam.txt","r",stdin);
    int i,j,dis;
    char a,x;
    cin>>s;
    for(i=0;i<s.length();i++)v[s[i]].push_back(i);
    a=s[0];
    x=s[s.length()-1];
    int dis1=-1;
    int mid=-1;
    for(i=0;i<(signed)v[x].size()-2;i++){
        dis=v[x][i];
        if(s[s.length()-1-dis]==a){
            for(j=1;j<(signed)v[a].size()-1;j++){
                if(s[v[a][j]+dis]==x && s.length()-1-dis>v[a][j]){
                    if(if_true(v[a][j],dis)==true){
                        if(dis1<dis){
                            dis1=dis;
                            mid=v[a][j];
                            break;
                        }
                    }
                }
            }
        }
    }
    if(dis1==-1){
        cout<<"Just a legend"<<endl;
        return 0;
    }
    bool flag=true;
    for(i=0;i<=dis1;i++){
        cout<<s[i];
    }
    cout<<endl;
    return 0;
}
  • 12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    vector<int>v[333];
    need it be 2000
    • 12 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      i tried with :
      vector<int>v[2000]   
      as you said... but the case is the same.
      actually i was intended to have a map of the positions of the certain character that appears in the string. and whren i get char x at position i in the given string i do the followings:

      v[x]<--i ; so i should need actually v[] of size 124. think problem is some where else.....
  • 12 лет назад, # ^ |
      Проголосовать: нравится -14 Проголосовать: не нравится
    plz some one help me finding the erro.. plz plz .. . who else can fix it but you people \m/  :D
    • 12 лет назад, # ^ |
        Проголосовать: нравится +3 Проголосовать: не нравится
      Read the description again, write the code again with moderate thinking. Check other Accepted codes. You will get your bug.
12 лет назад, # |
Rev. 2   Проголосовать: нравится -8 Проголосовать: не нравится


12 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
I am struggling with the Hot Bath problem (Problem C on Div 2 and Problem A on Div 1).  My code passes the given examples and is consistently generating wrong answer on test 8.  Can anyone give me advice on corner cases I may be missing?
  • 12 лет назад, # ^ |
      Проголосовать: нравится +5 Проголосовать: не нравится
    you can check the test cases and the expected answer for each test case by opening contest standings then view the code of any contestant. All test cases along with their answers will be listed right below the code
12 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Время начала Codeforces Beta Round #94 - это дискриминация школьников?
  • 12 лет назад, # ^ |
      Проголосовать: нравится +10 Проголосовать: не нравится
    это повод не пойти в школу
    • 12 лет назад, # ^ |
        Проголосовать: нравится +6 Проголосовать: не нравится
      Вот именно. Говоришь учителям потом: "а у меня был контест, я ничего не знаю!"
  • 12 лет назад, # ^ |
    Rev. 2   Проголосовать: нравится +2 Проголосовать: не нравится

    А студенты и работающие люди типа ой как свободны в 10 часов.


    Спойлер: на школу забивать куда менее проблемно, чем на работу.
    • 12 лет назад, # ^ |
        Проголосовать: нравится -8 Проголосовать: не нравится
      Так может ждать изменения времени проведения контеста?
      =( не хочется опять пары прогуливать...
      • 12 лет назад, # ^ |
          Проголосовать: нравится +14 Проголосовать: не нравится
        Открою страшный секрет: существуют города, кроме default city и часовые пояса, отличные от его часового пояса.



        Только никому ни слова!
  • 12 лет назад, # ^ |
      Проголосовать: нравится +3 Проголосовать: не нравится
    Примерно 48 школьников в Питере точно смогут написать этот контест по некоторым причинам в виде близости ВКОШПа и наличию сборов вместо школы :)
    • 12 лет назад, # ^ |
        Проголосовать: нравится +3 Проголосовать: не нравится
      а ваши тренировки на сборах проходят в закрытом архиве задач или задачи где-то доступны, если да, то где?
  • 12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Печально, и на пары хочется сходить, и понимание того, что следующий полноценный СФ будет недели через 2, настроение не поднимает :)
  • 12 лет назад, # ^ |
    Rev. 2   Проголосовать: нравится +5 Проголосовать: не нравится

    Да-да, конечно, дискриминация. Из Владивостока, например, писать в 17:00 школьникам намного удобнее, чем в 02:00, всем не угодишь. Радует хоть какое-то разнообразие.

12 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Where is the Editorial ?