Как видно из цвета моего ника, я новичок в спортивном программировании. Начал примерно год назад, но серьезно увлекся после того, как попал на ICL-2013. Но суть не в этом. Сейчас в основном я стараюсь сдавать задания на Python, но часто происходит так, что у меня выходит тайм лимит, даже если по самым приближенным прикидкам все нормально, и даже если используются быстрые алгоритмы. Но стоит переписать код на С++, ничего не меняя, и все хорошо. Вопрос к вам, опытные питонисты, есть ли какие-то хитрости или советы, как дать питону волшебный пендель для ускорения? Или мне наедятся на Иисуса? Я понимаю, что не я 1 задаю подобный вопрос, но все-таки.
У вас в посылках единственная задача, которая упала по TL, и та — сдана на C++.
Вот буквально сегодня на Timus Online Judge бинарный поиск в массиве не проходил по времени, причем не хватило 15-20 мс.
там просто если больше лимита времени выполняется программа, то она завершается через 15-20мс
Интересно. То есть фактически она работала дольше?
Думаю в вашем бин. поиске есть вечный цикл, но вам по коду виднее.
Вы можете обернуть свой код в класс или в функцию, тогда он будет работать немного быстрее. Но как бы вы не извращались, бывают задачи, которые сдать на питоне невозможно.
Да, есть такое, если весь код завернуть в отдельную функцию, а потом ее вызвать, то обычно получается в 1.5 раза быстрее.
Вот тут есть некоторые хорошие советы.
Спасибо откликнувшимся и поддержавшим :-)