Python. Ускорить время выполнения скрипта

Имеется следующая задача:

скрипт получает число - количество элементов

скрипт получает список натуральных чисел - список элементов

Скрипт должен уравнять все числа, увеличивая каждое из них (если это необходимо) на 1, и затем вывести количество проходов по списку. Если уравнять числа невозможно, скрипт выводит -1.

Пример:

5

1 1 5 5 5

Ответ:

4

4 раза скрипт проходит по списку чисел, увеличивая первые два числа на 1, пока все они не станут равны 5.

Вопрос: как можно максимально ускорить работу скрипта?

from datetime import datetime

# num of elements
n = int(input())

# values of elements
list_or_r = list(map(int, input().split()))

time_start = datetime.now()

list_or_r = sorted(list_or_r)
max_n = max(list_or_r)

new_list = []
for el in list_or_r:
    if el < max_n:
        new_list.append(el)

# are all elements equil
def if_equil(new_list):
    return len(set(new_list)) <= 1

# increase every element
def count(new_list, max_n):
    counter = 0
    while new_list[0] < max_n:
        for i in range(len(new_list)):
            new_list[i] += 1
        counter += 1
    return counter

if if_equil(new_list):
    print(count(new_list, max_n))
else:
    print(-1)

time_finish = datetime.now()
time = time_finish - time_start
print('Ready for {}'.format(time))

Ответы (0 шт):