Код на питоне. Нужна помощь(((
Однажды четверо инженеров изобрели машину времени из холодильника и башенных часов. Из-за сложности полученного механизма им пришлось потратить много денег на его создание. Тогда они собрали оставшиеся деньги и решили заработать на разнице курса валют. Для этого они переместились на несколько дней вперёд, узнали историю изменения цены акций одной компании и вернулись назад. На местной бирже можно покупать или продавать только целое число акций, поэтому четверо инженеров не смогли справится с расчётом возможной прибыли при оптимальной стратегии покупки и продажи, несмотря на то, что цена покупки всегда была равна цене продажи. Помогите им рассчитать максимальную возможную сумму денег, которая в итоге может получиться.
Замечание: В первом примере можно купить 5 акций на все деньги в первый день, а затем продать в третий. Затем купить 7 акций в четвёртый или пятый день и продать в шестой.
Формат входных данных: Первая строка содержит два разделённых пробелом натуральных числа: N (1 ≤ N ≤ 10^5) и S (1 ≤ S ≤ 10^9) - число дней, для которых известна цена акций, и стартовая сумма денег. Вторая строка содержит N разделённых пробелом натуральных чисел Pi (1 ≤ Pi ≤ 10^9) - стоимость выбранных акций в соответствующие дни.
Формат выходных данных: Выведите одно натуральное число - максимальную возможную сумму денег. Гарантируется, что ответ не превышает 10^18
n,s = map(int, input().split())
P = list(map(int,input().split()))
a = 0
q = 0
i = 0
P1 = P
P1.sort()
def max(x,y,z):
if y <= z:
return(z,0)
else:
return(y,1)
def min(x,y,z):
return(x,y)
for x in range(len(P)):
q=0
while i == 0:
q+=x
b1, c = max(x, P[x], P[q])
if c == 0:
i=1
else:
q+=1
Есть начало раздумий сверху... Можете подсказать в какую сторону дышать? может у меня где то серьёзные ошибки?