jhilary's blog

By jhilary, history, 8 years ago, In Russian

Написала код для задачи http://mirror.codeforces.com/problemset/problem/680/E (про медведя на клетчатом поле) на Python. Застряла на 12м тесте с вердиктом "Превышено ограничение времени на тесте 12". Попробовала максимально оптимизировать написаный код, но все равно не выходило пройти ограничение по времени. Запускала с помощью pypy2 (если запускать python2, то выходит в 6 раз медленнее).

Последняя попытка здесь: http://mirror.codeforces.com/contest/680/submission/18710430

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

Сдала с первой попытки: http://mirror.codeforces.com/contest/679/submission/18726182

  • 12й тест, который не проходил на pypy2 с ограничением времени в три секунды, прошел за 561ms.
  • 11й тест(предыдущий) прошел в с++ версии за время вдесятеро меньшее, чем на pypy2

Вопросы:

  1. Можно ли оптимизировать мой питоновский код, чтоб он таки прошел ограничение? При том, что 12й тест не самый тяжелый. В списке сдавших эту задачу нет ни одного питониста
  2. Почему ограничения на задачу выставлены таким образом, что абсолютно одинаковые решения на двух языках находятся в неравных условиях?

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

  • Vote: I like it
  • +54
  • Vote: I do not like it