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