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

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

Здравствуйте, друзья)

Рады приветствовать вас на очередном раунде Codeforces #123 для участников Div. 2. Традиционно, остальные могут поучаствовать в нем вне конкурса.

Задачи для вас были подготовлены группой авторов в составе: Иван Фефер (Fefer_Ivan), Игорь Кудряшов (Igor_Kudryashov), Павел Холкин (HolkinPV), а также Геральд Агапов (Gerald). Также говорим спасибо Кунявскому Павлу (PavelKunyavskiy) и Александру Куприну (Alex_KPR) за помощь в подготовке раунда. Традиционно хотим поблагодарить Михаила Мирзаянова (MikeMirzayanov) за систему Codeforces и Марию Белову (Delinur) за перевод условий.

Распределение баллов по задачам стандартное: 500, 1000, 1500, 2000, 2500.

Всем участникам желаем успехов и высокого рейтинга!

UPD: контест завершен, разбор задач появился здесь

Поздравляем победителей:

  1. bmerry
  2. adrian.jaskolka
  3. cheshire_cat
  4. alexej
  5. psw
  • Проголосовать: нравится
  • +64
  • Проголосовать: не нравится

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

эх, время-то неудачное для раунда :(

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

    Для тех, у кого положительная разница с Москвой, время с Вашей точки зрения всегда "неудачное". У меня обычные-то контесты начинаются в 21-00, а ведь кто-то живут во Владивостоке и при этом пишут КФ, и ничего.

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

      Наверное имелось в виду что в 20.00 мск будет матч Испания — Италия на Евро, и многие предпочтут посмотреть его, а не написать контест =)

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

        Именно!
        А следующий, 124-ый раунд вроде бы в правильное время)

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

        Судя по всему, футбольных фанатов на КФ намного больше, чем настоящих спортивных программистов :).

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

          Почему настоящий спортивный программист не может быть футбольным фанатом? См. комментарий :)

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

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

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

            ДА

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

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

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

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

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

        А что мешает писать контест и смотреть матч одновременно?

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

          Ну тут либо задачу завалишь, либо гол не увидишь!

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

    ура, 124й раунд в 17-00!

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

I am students.

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

gl & hf

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

Исправьте ошибку в слове "жела**ни**ем". UPD: Исправлено

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

Рассылка о раунде почему-то у меня в списке спама (почта gmail).

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

Good luck to all. :-)

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

Ну вот : как голы пошли — сразу решать надоело...

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

Что ломали в А?

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

    Меня сломали на бинпоиске. Недостаточное r поставил.

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

      Бинпоиск в А (div 2), таяние льдов и прочие признаки апокалипсиса...

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

        Что плохого в бинпоиске в А?

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

          То, что перебор заходит. Да и за константу полно решений.

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

            Только бинпоиск, только хардкор!

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

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

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

Почему в С первый пример не "AE in line 5"?

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

I hate problem C.......

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

Классный контест. Очень понравились задачи, но ИМХО С была сложнее Д.

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

    Надеюсь, вы не правы, и Дшки попадают.

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

Футбол? Не, не слышал.

Раунд получился великолепный! Авторам респект и конечно будем еще ждать от них подобного!

Благодарю.

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

Посмотрел несколько решений по D, почти все без double'ов. Интересно, мои пляски с double'ами и эпсилоном 1e-12 пройдут?)

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

    Казалось бы можно добиться отличия в 10 - 18. Я вроде говорил Gerald проверить есть ли такие тесты. Не знаю чем закончилось.

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

      судя по всему, есть

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

      Видимо, есть. Упала.

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

        У меня зашло вообще без eps. Даже сравнения.

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

          Послала без eps. Испугалась. Перепослала с eps, из-за которого решение и упало ><

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

      Если сделать gcd (чтоб равные оказывались равными безо всяких эпсилонов) и далее тупо пихать в set<long double> — вроде бы, в случае g++, от погрешностей не падает. По крайней мере, не падает на дробях вида i/(i+1) и (i-1)/i, а они вроде как худший случай.

      Если кто-то умеет такое валить — прошу научить.

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

раунд мне вообще не понравился:
С — какая-то задро реализация
D — >> Нетрудно показать, что в этом случае график s(x) является ломаной
ну так возьмите и покажите, хотя бы в одном примере для разъяснения
E — хрен поймешь условие, черт голову сломит

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

    ...Раунд я, как всегда, не писал, но он мне всё равно не понравился.

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

    Классный раунд, отличные задачи, вполне нормальное условие в E, а в D вполне очевидно, что s(x) ломаная, причем, несложно заметить и какие точки будут ее вершинами, что дает решение.

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

      Доказать, что s(x) — ломаная я не смогу, но решение найти легко и правда.

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

    Насчет D соглашусь. Чего-то явно там нехватало.

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

    В E в условии написано дан DSU посчитайте то, что вас попросили. Термины вроде тоже стандартные. Только операция какая-то странная.

    В D. Сумма кусочно-линейных, кусочно-линейная, кэп вам поможет.

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

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

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

      С. Решение. 40 строк кода

      это не отменяет ее задротную реализацию, лучше бы дали бы какую-нибудь идейную задачу

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

        Ну Е и D были чисто идейными.

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

        Е — по мне так, если знать что такое DSU, то да.
        D — Это все таки тоже часть задачи, понять как это устроено. Пояснение на сэмплах действительно было бы уместно наверное. Тем более тут практикуют очень подробное их описание.
        С. у меня в упор не состыкуется прилагательное "задротную" и менее 150 строк. Причем не сильно насыщенных. То что это техника, и не совсем элементарная, если не подумать как писать, это да. Я знаю человека, который про все 5 задач сказал бы что это техники. Писать надо уметь и то и то. Тем более что Div-2 контесты еще и обучающие.

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

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

          и еще >>Я знаю человека, который про все 5 задач сказал бы что это техники

          так и хочется добавить "и это я" ))

          • »
            »
            »
            »
            »
            »
            12 лет назад, # ^ |
              Проголосовать: нравится 0 Проголосовать: не нравится
            1. Лучше на ты.
            2. Нет. И это мой сокомандник Dmitry_Egorov. Я соглашусь, что здесь С — простая техника, A,B,D — просто тупость, E — простая идея.
  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    D. Сумма непрерывных функций есть непрерывная функция. А тут ещё и кусочно-линейная. Понятно, что ломаная.

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

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

    Что именно вам кажется плохо сформулированным?

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

      хм, перечитал, на самом деле все ок, видимо я был под веществами

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

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

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

          у вас есть 12 часов, чтобы исправить это досадное упущение

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

            Нет! Наша команда играла этот контест, и я не позволю, чтобы кто-то получил преимущество над нашим призраком!

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

              Я их пишу. dalex их играет.

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

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

              а кто-нибудь будет отвечать на сообщения во время контеста?

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

                Автор текстов обещал быть на связи. Я тоже буду, но некоторые задачи я так и не распарсил :)

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

    у меня 45 строчек кода без супер идеи в реализации. Просто в лоб. (на Java)

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

О, в матче сейчас опасный штрафной будет.

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

а как решать Е?

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

    В условии задачи тебе дан снм. Ну он работает за логарифм и только со сжатием путей.

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

      А, клево, то есть можно, сжимая путь, поддерживать длину пути до корня? Эх, что-то я не додумался =(

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

        Просто при переподвешивании меняем длину ребра на сумму. Тогда расстояние не меняется.

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

    Я уже пишу разбор. Дайте мне 5 минут )

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

    я решал с помощью DSU с поддержкой расстояния до корня

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

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

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

Я не понял почему в С не сказано двойные или одинарные кавычки ? Я обрабатывал только двойные. В итоге ACC. Интересно. Если бы взламывали на этом, что бы было ?

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

    В самплах видно, что кавычки двойные.

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

      Самплы не всегда хранят в себе все условие задачи.

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

      Из этого не следует, что не бывает одинарных. Меня удивляет, почему находятся люди, которые спросят, "а дайте пожалуйста 6 тест", но такие вещи никто не спрашивает.

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

Жаль, что по задаче С, несмотря на "Это означает, что во входных данных могут встречаться пустые строки или строки, состоящие только из пробелов.", выдается "Некорректный тест", если в попытке взлома есть строка состоящая из одного или нескольких пробелов.

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

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

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

      А можете глянуть мои взломы: 41753 и 41755.

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

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

        я их перетестировал, у вас не хватает последнего перевода строки.

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

        Написанно же FAIL Expected EOLN (stdin). У вас не хватало перевода строки в конце файла скорее всего.

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

          Жаль, что сообщения "FAIL Expected EOLN (stdin)" не было во время раунда, а только "FAIL Input can't contain line starting with space, but line 5 (1-based)..."

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

            Хм. Странно. Такое казалось бы могло произойти, если не убрать где-то галочку "Tests are well-formed". Но тогда бы он не провалидировал претесты даже.

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

              у меня был такой же вердикт, взлом 41720

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

              Мы убрали эту галку. У нас самплы были не well-formed. Есть мнение, что это баг и его исправят.

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

I spent about 30 min and 3 wrong answers on problem B ... because I thought (m + 1) / 2 is integer division not normal division ...

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

Will n log n time out in problem D? Mine nlog n timed out. Is there any o(n)?

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

Problem B. You should mention that if m is 6, for example, (m + 1) / 2 equals 3 or 3.5.

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

    3.5

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

    children in first grade are told what symbols '/' means

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

    Couldn't you ask it?

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

    Problems are written in English language, not C++ : )

    Usually, . But .

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

    It doesn't really matter because even if you use integer division, you still take the basket with the lower number in case of a tie.

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

      Counterexample:

      • if M=4, mid=2.0, the order of baskets is: 2, 1, 3, 4
      • if M=4, mid=2.5, the order of baskets is: 2, 3, 1, 4
      • »
        »
        »
        »
        12 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится

        Oops. You're right. Anyway, I used integer division, so I guess that was the intended meaning. Is there any other explanation why it worked? I can't find any.

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

          You may have interpreted it as integer division, but your code skips the issue entirely by multiplying out both sides:

          abs((M + 1) - 2 * a.second)

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

            Oh yeah, I totally forgot. At first, I wrote it abs((M + 1) / 2 — a.second) and then changed it. I had a bug, but then I realized that it was something else. It turns out that I was pretty lucky because I just tried it with the division and it fails "2 6". So we have our answer :)

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

А когда рейтинги обновят?

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

Спасибо ,друзья, за замечательнейший контест, мне он очень понравился!!! Создавайте контесты еще)))

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

Что за дела с рейтингом?...Даже 1-ое место (bmerry) не прошел в див.1, хотя до этого не участвовал ни разу.

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

    Вообще 31 перешедший в Div1 участник это как-то мало. Что-то MikeMirzayanov странное с рейтингом сделал. Хотя бы показали формулы бы.

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

По скорее нужно удалить c.cpp пока комп не сломался :)

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

    А что этот файл у вас такого делает, что комп может сломаться?

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

In problem C I used Scanner and it not even passed the first test case..Then I used BufferedReader and it got accepted..Could anyone explain why?? Scanner BufferedReader

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

    I could be wrong, but you should use nextLine() for entire lines.

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

      But I changed the Delimiter to "\n" ..So it is the same I guess..

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

        nextLine() reads characters until the end of a line, so after reading the first integer in the first line, you should put an extra nextLine(). Then a "carret" will be moved to the next line and you can read an input as expected. Otherwise the last line will be skipped. Here is the corrected solution that passes: 1781961

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

          Can u please make it more clear for a dumb head like me.. I made a similar mistake on 1 more problem and I want to rectify it now ..plz..

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

Problem E,I can't understand "angle"...what is that?

It means parallel to the X axis ?

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

In problem C:The program may have spaces at the beginning of a line, at the end of a line, before and after a bracket, a comma or a quote mark. But I got stuck in cin.getline(s,55,'\n'). I don't know why it reads more lines than you data gives.

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

    The second t.cha[len] = '\0'; should be t.msg[len] = '\0'; Oh, and maybe you should consider putting a cin.getline(s,55,'\n'); instead of getchar() after reading n too just to be safe.

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

For problem A, I was looking at bmerry's solution but I don't understand why the formula he used is: down_time = (c*a + b - 1) / b

A lot of solutions I studied use this formula or some variation. I was trying to solve the problem using some kind of simulation but was unable to, but everybody's I've looked at uses some kind of formula.

The other thing he does is subtract c from downTime, and the answer is max of 0 or that difference.

Can someone explain how to come up with this formula? Thank you.

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

    I simulated problem A. You can take a look at my code here

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

    brute force solution here

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

    What I'll tell is effectively the same solution.

    If b ≥ a, then we can wait 0 seconds and still there will be no delays in the streaming.

    Suppose that b < a. Consider the moment when the streaming has finished. By problem statement we must have (t + c)b ≥ ca (the amount of data received in t + c seconds is not less that the amount of data in c seconds of the video).

    Lemma: If (t + c)b = tb + cb ≥ ca, then also for any 0 ≤ t0 < c it holds that tb + t0b ≥ t0a (the amount of data received in t + t0 seconds is enough to play t0 seconds of the video).

    Proof:

    tb + cb ≥ ca
    tb ≥ ca - cb
    tb ≥ c(a - b) ≥ t0(a - b)
    tb + t0b ≥ t0a, 

    because $0 \geq t_{0} < c$ and b < a.

    Consequently, we only need to find such t that tb + cb ≥ ca is true, and the rest will follow. The smallest integer t that satisfies this inequality is

    Finally, for integer division that is equal to

    You can also take $c$ out of the numerator, which gives you bmerry's

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

Will there be an editorial ?