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

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

Сегодня пытался решить задачу D с этого контеста http://mirror.codeforces.com/gym/100269

К сожалению я получил WA6. http://pastebin.com/VA21Kvhd , вот мой код, может кто подскажет, где ошибка или решение вообще неверное?

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

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

Строки 82 и 83 выглядят подозрительно.

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

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

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

      В этом месте проблема такая, что st.erase(vc[pp.x][j]); уже будет использовать обновлённые данные ранжирования для поиска, и всё полетит. Надо сначала вынимать все элементы, для которых изменяется ранг, после этого обновлять его и потом добавлять эти элементы обратно.

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

        Спасибо большое, после вашего изменения получил AC :)

        Наверное тема закрыта, всем спасибо)