В тестовом стенде Т‑Банка Инвестиций лежит история цен одной бумаги по дням: prices[i] в рублях. На руках одновременно может быть не больше одной бумаги.
Каждый день можно купить (если бумаги нет), продать (если есть) или ничего не делать. С каждой продажи брокер берёт fee рублей. Верните наибольшую прибыль задним числом; не торговать — прибыль 0.
В работе: Стенд проверяет торговые стратегии на 250 днях истории: верхняя граница «знай мы цены заранее» показывает, сколько съедает комиссия 15 ₽ за сделку.
Пример 1
prices = [100, 103, 98, 110, 105, 112] fee = 4
11
Купить по 98, продать по 112: 112 − 98 − 4 = 10. Две сделки 98→110 и 105→112 дают 8 + 3 = 11.
Пример 2
prices = [100, 103] fee = 5
0
Рост на 3 ₽ не окупает комиссию 5 ₽.
Ограничения
- 1 ≤ n ≤ 10⁵
- 1 ≤
prices[i]≤ 10⁶ - 0 ≤
fee≤ 10⁶ - Лимит — 2 с на тест (1500 мс).
print() и console.log() уходят в консоль.
def best_with_fee(prices, fee):
Источник: наша задача на данных Т-Банка. Условие пересказано своими словами.
Ожидаемый ответ не нужен: покажем, что вернула функция.
Здесь появится результат отправки.