Работает медленно, потому что вы обрезаете входной массив каждый раз. Для этого приходится обходить и копировать всю нужную часть. Поэтому суммарное время работы будет O(n).
Чтобы работало быстро вам надо не менять lst, а помнить индексы границ текущего куска.
Ещё, вам надо останавливаться, когда рассматриваемый кусок станет пустым, чтобы решение не вылетало, если искомого числа в списке нет.
И последнее, в питоне есть операция целочисленного деления - //. Используйте ее вместо приведения к int после деления.