Вычислить оптимальные по доходу дни для сделок по покупке акций (Python)
Помогите, пожалуйста, понять алгоритм написания кода, который бы искал не более 4 пар сделок купли продажи таким образом, чтобы получилась максимальная выгода. Никак не мог понять, как расписать алгоритм. Максимум, до чего додумался - это нарезать список цен в разные дни на подсписки так, чтобы начало следующего подспика был меньше конца предыдущего, то есть разбить на последовтельные подсписки. Вот условие и мой код
N = int(input())
prices = [int(i) for i in input().split()]
dprices = dict(zip(range(1, N + 1), prices))
a = []
s = []
i = prices.index(min(prices))
while i != len(prices) - 1:
s.append(prices[i])
if prices[i] > prices[i+1] or i == len(prices)-2:
a.append(s)
s = []
i += 1
a[-1].append(prices[-1])
print(a)
day1 = []
day2 = []
for i in range(len(a)):
for key, value in dprices.items():
if a[i][0] == value:
day1.append(key)
if a[i][-1] == value:
day2.append(key)
days = tuple(zip(day1, day2))
print(len(days))
for item in days:
print(*item)