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

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

Всем привет!

Сегодня, 12 июня, в день, когда Россия отмечает день себя, на Евро-2012 стартуют матчи второго круга, а I_love_natalia празднует свой день рождения, мы представляем вам Codeforces Round #124.

К подготовке контеста имеют отношение команда Samara SAU Teddy Bears (craus, dalex, Hohol) и I_love_natalia. Также спасибо Alex_KPR и команде Codeforces (Gerald, Delinur, MikeMirzayanov). Мы думаем, что контест очень легкий, а вам придется за 2 часа доказать или опровергнуть это утверждение :)

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

Всем полных решений и успешных взломов!

UPD. Контест закончился, поздравляем победителей!

Div-1 (полные результаты):

  1. tourist — единственный, кто решил все задачи!
  2. RAVEman
  3. aropan

Div-2 (полные результаты):

  1. bmerry
  2. littlefriend
  3. gstsclq

UPD 2. Доступен разбор задач.

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

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

Это правильно начинать контесты в 17:00 по Москве во время Евро.

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

Will the contest be ranked?

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

С одной стороны, конечно, стрёмно, но, с другой стороны, интересно было бы попробовать динамическую стоимость.

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

.

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

In ascending order by difficulty?

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

    The authors believe so.

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

    No, non-descending :)

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

      I'm not sure if the smiley indicates irony or that sweet feeling of disagreeing with the master, but for me the order actually seemed descending in difficulty (div2).

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

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

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

The contest doesn't seem to me as very easy :/

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

контест совсем не нравится =/

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

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

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

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

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

      Просто для первой задачи второго дива народ не привык что-то думать и рисовать на листочке. Поэтому если она не решается методом мимолетного взгляда, то она сложная :)

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

Короткие, понятные условия! Вот все бы контесты были такими!

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

Subject narrative is a big problem! It's too fuzzy to read...

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

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

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

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

UPD: Крууто! Мой личный рекорд — шестое место)

UPD2: Когда был одиннадцатым, в посте указали топ-10. Когда я шестой, в посте указывают топ-три. :-(

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

    А как это делается хотя бы за квадрат?

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

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

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

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

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

      Затлилось, но, вроде бы, все равно правда. =)

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

        Да, это Прим+Левитоподобный алгоритм, и он TLит на каком-то там тесте :)

        Он работает k*E в худшем, к сожалению.

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

    Запустим дейкстру, подвесив все телепорты за фиктивную вершину ребрами веса 0, из фиктивной вершины. Получим дерево кратчайших путей, если можно начинать из любого телепорта. Утверждается, что в качестве ребер графа, состоящего из телепортов, достаточно взять ребра исходного, концы которого лежат в поддеревьях разных телепортов, а вес положить равным d[u] + d[v] + weight.

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

Ужас...
Расскажите А Div 2 пожалуйста.

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

    если круг поместится то выигрывает 1, иначе 2: 1-ый всегда сможет сходить симметрично относительно центра после хода 2-ого

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

    Всегда побеждает первый. Второй побеждает только если монета изначально не лезет на стол. Эта задача из книжки "Математикон" задачи Кенгуру.

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

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

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

      Єдиний коментар, який пояснив, чому так, отримав мінуси, на відміну від інших, які сказали "що виводити, щоб отримати АС". І де логіка?

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

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

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

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

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

      а как же вариант с 5 2 1? куда бы первый не поставил всегда будет место для второй тарелки, а для третьей уже никак.

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

Похож на первоапрельский контест :D

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

Капец задачи.

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

Скажите 8 тест задачи B(div2)?

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

    Проблема с ответом infinity. Надо проверять не только a[0], а и b[0]. Если их произведение положительно — ответ "Infinity", если же отрицательно — "-Infinity".

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

Что в четвёртом претесте D div2?

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

Собрал урожай хаков на задаче B. Хакал все условия, в которых замечал 3*n и 3*m =)

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

    Такая эвристика по отбору решений мне шесть раз дала неудачный взлом вместе с тринадцатью удачными :-)

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

    Странно. У меня 3 * n и 3 * m претесты не проходило.

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

    За o(n * m) решается, как я понял. Запускаем обход, если дошли до края, то проверяем, есть ли с противоположной стороны проход. Если да, то Yes, иначе No. Правильно или нет? Если да, то очень печально, буквально пары секунд не хватило

    UPD. Лажа

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

    Можно загнать и с 3*Н*3*М:
    Делаем волну на увеличенном поле, но добавим ход с краев в другой край, формально: сделаем таблицу цикличной.

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

      Мне кажется, ни одно правильное решение не нуждается в расширении поля и должно прекрасно работать на поле n на m. Если человек сделал поле 3n на 3m, то он (как минимум изначально) писал неправильное решение.

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

        Ой ли? А разве http://codeforces.me/blog/entry/4708#comment-96200 неправильно?

        (Я понимаю, что легко быть умным потОм, а сразу можно что-то не так подумать, я вот вообще весь тур пытался спасти принципиально неправильное решение... Но всё же, кажется, Вы не правы.)

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

Почему данное решение по Д(див 2)/Б(див1) не проходит: Пройдём дфс-ом по лабиринту, пометив в матрице b[][] клетки лабиринта, далее пройдём ещё раз, и попав в точки на границе смотрим, принадлежит ли противоположная точка лабиринту.

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

    Это тест не только против Вашего решения, но и против моего (взломанного).

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

      Да, недодумал немного, а жаль.

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

      Ответ No? А почему тогда 1794033 не проходит? Я даже проверяю, чтоб тот мальчик был в пути через который я иду.

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

      Как вы рисуете такие штуки? Я попробовал, у меня получился ужас какой-то с точками и здоровыми S

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

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

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

          Спасибо, но не получилось :( Посмотрите под спойлером, что вышло

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

        (пустая строка)

        (пять тильд)

        моноширинный текст

        (пять тильд)

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

      Почти час думал, где же меня взломали — потом-таки догадался до этого коварства за 10 минут до конца.:)

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

Клевая задача С. Но задача, очень похожая на Б была на каком-то COCI, если я ничего не путаю. А как решались Д и Е?

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

    Не на COCI. На одном латышском сайте по программированию.

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

What was the solution for Div2 problem A? I feel I'm missing something easy.

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

    If at least one circle can be placed in the rectangle, then first wins, because he can place circle in the center and then play symmetrically. In other case second wins.

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

Nice questions...Short uncontradictory statements and all requiring to think..Although I did not perform well but still I got to learn a lot :)

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

Can someone please explain logic behind div 2 — A.

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

    I took few cases , and In every case If FIRST can place the circle inside the rectangle then He can win otherwise , He can not win.

    Some idea might be thought like if there are even no of circles possible in the rectangle , then He can just place a circle midway of two circles ,,, Means He can always change the configuration for winning move.

    more clearer : if in the optimal path , if there are even no of circles inscribed in rectangle , then First can change the path by placing a circle midway of two circles . otherwise FIRST will win because last movement will be of FIRST , because no of turns are odd .

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

это неловкое чувство, когда засрал хороший раунд
кст, задача С уже однажны была

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

Не понял как так произошло: я отправил неверный взлом, а он отправился два раза: 42069 и 42071

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

for problem D , can anybody tell me whether my idea is correct ?? for grid with position S if you are able to go to another S in it's adjacant 4 grids , Then I can walk infinitely , ans will be YES, other wise No

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

    No.

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

      thank you for your reply , Firstly I had an idea that if an (3 * n ) * (3 * m) grid ,,, We can go from one S to some other S then we can find a infinite cycle ,, But this used too much memory and got memory limit exceeded :(

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

        i used the exactly idea that create an (3*n)*(3*m) maze. and while searching in the 9 times larger maze, i just terminate the process as soon as i find two 'S', then, i got an AC:) I just tried waht happened if i waiting for the searching process until it is finished, then, i got a MLE:(

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

          Do you mean two 'S' including the stating 'S' (in the central block)? In other words, the starting 'S' and at least one another?

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

            Yes. Actually, which 'S' is the starting one does not matter. But when you arrived a "border" of the larger maze, you should transfer your searching position to the oppsite "border" —— it does matter a lot :)

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

    I think if we can go to any of the 'S' of 8 adjacent grids then it "Yes"

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

    only itself is sufficient..

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

"We think that contest is very easy" You are kidding, aren't you?

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

Как нормально делать В?

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

    У нас в диве у всех почти попадала...

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

    Я решал по принципу Дирихле. Будем ходить по бесконечному лабиринту, отмечая (в хэш-таблице) те клетки, в которых мы были. Если мы побывали хотя бы в m·n + 1 клетках — значит, две из них соответствуют одной и той же клетке исходного лабиринта, выходим из поиска и говорим, что ответ — Yes. Иначе — No.

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

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

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

Как решать С быстрее, чем за O(n2 * logn)?

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

    А зачем быстрее?

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

      У меня не прошло =( Хотя, наверное, использовать atan2 для сравнения углов не стоило.

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

        У меня WA. Но по времени времени вроде нормально.

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

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

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

            Кстати, никто не знает, как atan2 по точности валить? У нас не получилось :(

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

              Можно дробями вида n число фибоначи поделить на n+1

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

                Да нет, чтобы найти два веткора, atan2 от которых совпадает, не нужно так мудрить — вектор (10^9 + 1, 10^9) и вектор (10^9, 10^9 — 1).

                Тяжелее сделать так, чтобы на нём действительно падали решения. Я ниже описал, как это можно сделать.

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

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

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

              Понятно как. Принципиально бывает четыре направления прохода в обычных решениях — сверху, слева, снизу и справа. Например, если идём сверху, делаете такой тест из четырёх точек: (X, X + 2), (-X, -X), (-X, -X — 1), (-X + 1, -X), где X ~ 10^9 и дерево (1-2), (2-3), (1-4). Тогда три нижних точки слипнутся в одну по точности, и если перебрать их все три перестановки, и перебрать некоторое количество перестановок вершин дерева (в зависимости от того, что подвешивается в решении), на одном из таких тестов точно будет WA.

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

                Я генерил такие тесты: точка (0 0) (туда пойдет корень дерева) и штук 20-30 точек с координатами около (109, 109). Кажется, после первого захода в рекурсию в поддеревьях как раз получается то, что ты говоришь. Это тесты 61-80. Я прогонял стресс, и atan2 не падал...

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

                  Как раз atan2(109, 109 - 1) достаточно отличается от atan2(109 + 1, 109). Нужно было ставить корень дерева в ( - 109,  - 109), тогда double падает. Но long double вроде бы все равно никак не завалить.

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

                  Так смысл не в том. Смысл в том, что atan2(1e9+1, 1e9) == atan2(1e9, 1e9-1). Поэтому если дать в качестве точек эти две, то их если их поменять во входных данных, то они поменяются местами и после сортировки. Поэтому верно и на тесте где они идут в таком порядке, и на тесте, где они идут в обратном программа отработать не сможет — в хотя бы одном из них сортировка окажется некорректной. Осталось только сделать так, чтобы некорректная сортировка повлекла за собой WA. А это можно сделать, как я описал выше.

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

                  Неправда. Только что проверил — (atan2(10^9, 10^9 — 1) == atan2(10^9 + 1, 10^9)) == true. На практике atan2 можно использовать до 10^7, потому что double держит порядка 15 значащих цифр.

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

                  Действительно, в g++: (atan2(10^9, 10^9—1) == atan2(10^9+1, 10^9)) == true в MS C++: (atan2(10^9, 10^9—1) == atan2(10^9+1, 10^9)) == false

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

    Мой O(n^2 logn) зашёл, 270 мс на макстесте.

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

    Ну, к примеру, можно отсортить все точки по x, потом написать процедуру solve(l,r,v), которая решает задачу для поддерева вершины v, используя еще неиспользованные точки, лежащие между l и r по иксу (в сжатых координатах). Эта процедура будет разбивать неиспользованные точки на отрезки с кол-вом точек, соответствующем кол-ву вершин в поддереве соответствующего ребенка v, а потом рекурсивно запускаться в этих отрезках.

    UPD: упс, не зашло =(

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

    А, собственно, как вообще её решать, раз то, что написал tunyash, неверно?

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

      Будем рекурсивно отдавать точки вершинам дерева. Сначала одним DFS'ом подвесим дерево за вершину 1 и посчитаем размеры поддеревьев.

      Сделаем рекурсивную процедуру, которая набор точек будет раздавать поддереву вершины x. Самую высокую точку из набора отдадим корню x поддерева. Относительно неё посортируем по углу все остальные точки набора векторным произведением (так как они ниже), и отдадим по очереди каждому сыну y очередные sz[y] точек. Тем самым мы гарантируем, что всё поддерево окажется целиком внутри угла с вершиной x, причём для разных поддеревьев углы не будут пересекаться. Победа!

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

        Действительно довольно очевидно.
        Физика затуманила мой мозг...

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

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

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

          Почему не правда? У меня такое же решение. Точнее симметричное. Я в нижнюю клал.

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

          Правда. Почему неправда?

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

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

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

              Никакие три не лежат на одной прямой. Это принципиально для решения.

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

                Блиииииин =( То есть, я слил контест из-за неумения читать условия, понятно =(

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

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

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

        А как ты выбираешь корень для очередного поддерева из точек лежащих в сортировке по x на позициях с l по r?

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

        Если каждый раз корнем выбирать максимум по y, то

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

      Да в лоб.

      Подвесим дерево за какую-нибудь вершину и обозначим ее R.

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

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

      Асимптотика . Если сортировать по векторным произведениям, то очень быстро.

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

        Есть идеи, как решать эту задачу быстрее? Мы не придумали, хотя кажется, что решение быстрее должно быть.

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

          UPD: лажа! Можно каждый раз выбирать центр дерева. Точнее вершину, такую что размер самого большого поддерева не очень большой. Это можно сделать за линию. Тогда казалось бы будет Nlog2N

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

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

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

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

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

Ну почему, блин, сторого больший??? Ненависть!!! :(

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

    Кто, где?

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

      В задаче D. Там просят найти строго большую хорошую строку.

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

        Можно же перейти к следующей и решать без "строго".

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

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

          Ну просто нестандратно. А я как-то на автомате решал для  ≥ , и за 5 минут не успел это заметить. А так-то ССЗБ.

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

150 и 250 место разделяет 10 баллов. Мило.

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

I wonder how many people just guessed the answer to div2-A, without actually proving it. (I got to a proof, after I finally submitted the guessed one.)

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

    may you explain your proof?

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

      If First player can place even one disc, answer is "First". Since first player can always win by placing first plate at center of board. Then he can copy the moves of second player . (Because there will always a similar space available due to symmetry)

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

за что дают вердикт "Попытка игнорирована"?

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

Этот неловкий момент, когда ответы одинаковые, но уже ничего не сделаешь ( Вывод 9/-2 Ответ -9/2

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

Happy birthdays dalex and I_love_natalia! The problems are nice. By the way, the start time is unusual, that makes me late for some minutes.

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

    Actually, only I_love_natalia has a birthday today...

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

    1 hour after contest is a football match in group A in Euro2012. In this group is Russia too :)

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

    ...I started the contest about 15 minutes later... To my surprise, I was in the top 20...... I had once thought that my rating would have descended dramatically... So strange...

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

Div1-A is exactly the same as SRM 518's Largest Subsequence, except that the constraint is larger... This might have given unfair advantage to those who have seen it before.

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

What is the intended algorithm for 196C - Нарисуйте дерево? How about flipping the pairs of intersecting segments and iterate until there are no more? Would this pass the time constraint?

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

    In random order or flipping this makes about O(n2.1) operations, as I remember correctly. Too slow :-(

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

Кстати, задача похожая на А(Див.2) была на Саратовской командной олимпиаде школьников.

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

You will have to add a new level above IGM.

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

Проблема с задачей A(div2). Тест: 5 2 1 Ответ: Second У bmerry выводит First и полное решение. Если я ошибаюсь, напишите в чем.

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

    Ответ верный, 1*2 <= 2 && 1*2 <= 5

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

      Да, согласен. Если посмотрим на полное решение проверяется так.Но, попробуй на тетрадке этот тест написать. Объяснение: 1) Первый игрок на любое место может поставить тарелку. 2) Второй игрок по-любому может поставить тарелку.
      3) Хоть куда 2 игрок поставить тарелку 1 игрок не сможет поставить тарелку.

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

        Ставим тарелку в середину. Справа и слева остается по 1.5. Следовательно второй игрок поставить не сможет

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

          Спасибо:) Блин, весь контест думал что кординаты целыми должны быть.

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

            За контест думал над ней минут десять максимум, потом переключился на вторую и третью. А после дебажил почти полтора часа 4ую... А оказалось решение было в корне не верное :) Жалко, что до первой не допер, прикольная

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

    аналогично не понятно, поч. в тесте 11 4 2 ответ First, а не Second int A, B, R; cin >> A >> B >> R; R *= 2; if (A < R || B < R) cout << "Second\n"; else cout << "First\n"; return 0; это AC код Если что в данном тесте можно понять, что тарелки можно ставить по абсциссе 2, и в не зависимости от координаты второй игрок может поставить ещё 1 тарелку

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

      а,все, координаты не обязательно целочисленные.

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

    Видимо, имеется в виду следующее: 1-й ставит тарелку так, чтоб её центр имел координаты (1, 2.5). После чего уже ни одну тарелку поставить нельзя

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

Все понял. Буду в след. раз тщательнее читать условие) Спасибо всем за ответы.

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

    По условию знаменатель должен быть больше нуля.

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

    Прочитайте условие ещё раз. Знаменатель должен быть положителен!
    UPD: я чувствую себя JKeeJ1e30

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

    Читайте внимательно формат вывода

    "Иначе выведите несократимую дробь — значение предела , в формате «p/q» (без кавычек), где p — числитель, q (q > 0) — знаменатель дроби."

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

    в задаче сказано, что знаменатель положительный.

    UPD. опередили :(

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

    ... в формате «p/q» (без кавычек), где p — числитель, q (q > 0) — знаменатель дроби.

    slowpoke.jpg

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

A — баян, была на SRM #никто-не-помнит-когда, B — баян, была на СОСИ-контесте, C — баян, я на нашем закрытом бобруйском сервере решал, D — баян, я в детском саду такими задачами девочек смущал, E — баян, я такое вчера выдумал по пьяни!

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

    F — баян, я после чудо-травы за час до контеста ее решал?

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

    И один лишь tourist решил их все.

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

      А бояны тоже надо уметь решать. Вот на IOI-2011 дали боян на первый тур(17 сотен) и стандартоне упражнение на корневую(6 сотен) на второй тур. Хотя что боянистого, кроме задачи А, я так и не понял. А тупость и в африке тупость, и может быть немного бояном.

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

        Ты еще про попугаев забыл — стандартам задача получения объекта по номеру, разбавленная неточной системой оценки.

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

        Вроде, все более или менее нормальные задачи — бояны с каких-нибудь странных архивов или похожи на задачи с каких-нибудь странных архивов.

        Например, на контесте УрГУ в Петрозаводске однажды мы "поймали" боян с городской олимпиады в Самаре 2001 года (вот эта задача)

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

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

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

            На сборах пихать не надо было. На Тимусе немного weak tests и другой параметр декомпозиции заходит, вроде.

            Upd. в 2009 это была не самая стандартная гадость. Бурундуки не сдали на сборах, вроде.

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

              Не сдали, да... :-) Очень хорошо коррелирует с "На сборах пихать не надо было".

              Если что, у нас тогда было решение за 2^{N/2}, просто константа слишком большая.

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

                У меня сразу зашло после фиксов двух идиотских багов с long long.

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

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

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

          Да, всё уже было в Симпсонах.

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

    Баян — это типа халявная задача?

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

К сожалению, по возрастанию сложности не получилось :( А когда будет разбор, хотя судя по комментам то он не очень то и нужен?

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

    Говорят, что Никита (Hohol) готовит. В комментариях, вроде, есть все, кроме D-1.

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

Спасибо за отличный контест)))

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

thankstosamarasauteddybearsforthiscontest

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

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

Hello, I suppose it's better if you use just ordinary math. not something that like limit. I don't have any information about it. It's better if you would use some algorithmic problem or other problems related to programming instead of pure math. just my recommendation. I'm not a very professional participant. just participating here and don't know about other places. it's just a recommendation. and anyhow I appreciate your hard work for creating such a great contest. thanks.

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

really liked the content, although i found it difficult. particularly task A, which in my opinion was rather the hardest than the easiest... good job, guys!! :)

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

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

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

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

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

      А, всё, понятно, где это палится. На таком простом тесте:

      "10 azzzzzzzzzza" (буква z повторена 10 раз)

      Первое палево случится на последней букве z, однако чтобы получить ответ, надо будет откатиться аж до буквы 'a'. Да, надо было всё решение оформлять в виде этого "перебора", или же как-то умно перескакивать назад к последней не-z-букве.

      UPD перебор зашёл, видимо потому, что такие длинные откаты нужны только один раз.

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

Any idea why my practice solution for div1 E TLEs (http://codeforces.me/contest/196/submission/1798783 ), while RAVEman's (slightly modified version: http://codeforces.me/contest/196/submission/1798819) easily passes? Both use Prim's algorithm in almost the same way. I went over his code line by line and can't find the key improvement.

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

    I found 2 reason. 1. set is slightly slow than priority_queue so you solution take much more time. 2. test case is not strong enough. the way you choose start vertex is different from RAVEman (Reminder : portal might not be in order in input), he's lucky so choose largest portal number pass in time, but choose lastest portal number (in input) not.

    After I fix #2 in your code to the same way as RAVEman , it's TLE at test case #39 1799522 and after I fix both #1 and #2 it's pass in 300 ms

    UPD. fix font size

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

      That's bad, I was too imprudent :( These solutions get TLE on 'reversed' test 36 where any vertex i is renamed to n - i + 1.

      UPD: New tests (76-95) were added. Try to pass them.

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

      Thanks!! I'm surprised set vs priority_queue would make such a big difference. TopCoder's STL tutorial says "the difference is about ~%0.1 of time", yet RAVEman passed test case #39 in only 50 ms. When I tried his code with set 1798838, it failed case #39.

      As for the other reason, it seems the problem is that non-portal vertices can be visited multiple times. I haven't thought of a solution for this yet...

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

        Actually, the set vs priority_queue issue might just be another vertex ordering problem in disguise. Submission 1801347 also fails case #39 even though the only change from the "modified RAVEman code" in my first post is changing the priority_queue< pl > to a priority_queue< pl, vector< pl >, greater< pl > >.

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

          Alright, someone explained the real solution so I went ahead and implemented it! The trick is to make a sparse version of the graph of vertices which have portals. The "edges" in the portal MST will be shortest paths between pairs of portals in the original graph. There could be n^2 of these, but we don't actually need them all. MST edges are always minimum weight among edges in some cut of the graph. This solution is guaranteed to include all such edges.

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

          Yeah, I just got lucky. I had just 15 minutes after I submitted D till the end of the round, so I decided to submit the most stupid solution that I could think of...

          Usually that strategy works pretty well for me :)

          And thanks for noticing the crap I wrote. This made me read the editorial to understand the intended solution.

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

            Defeating the judge in 10 minutes is quite amazing ;)

            It's nice to see a growing community around programming competitions; I still have lots to learn from all of you! (this was my first time coding MST)

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

In Div-2 Problem-B:

Test Case: 8

3 2
4 3 1 2
-5 7 0

Why the answer is "-Infinity" instead of "Infinity"?

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

Разбор задач скоро появится?

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

Input
cantouristsolveitlessthaninoneminute

Output
unfortunately, he can't
but he solved all problems less than 100 minutes

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

/*found my mistake*/

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

right