Задача на Размышление
Первые мысли и решение задача с обьяснениями и кодом

AL05-2. Лучшая неделя
Дана прибыль магазина за n дней (убыток — отрицательное число). Какова наибольшая общая прибыль среди периодов из k дней подряд?
Первые мысли
В начале я просто хотел пройтись через for
к примеру for i in range(2,len(s))
7 3
[2 -1 3] 5 -2 4 1 ---> 7 3
2 [-1 3 5] -2 4 1 ---> 7 3
2 -1 [3 5 -2] 4 1
Оказалось что мой код имеет несколько ошибок
1 В коде прописано только для 3 если переменная равна не 3 а 5 или 7 то скрипт уже правильно работать не сможет
2 В коде было много ошибок которые привели к краху и такой код был не оптимальным решением для этой задачи
Поэтому
После того как я поразмышлял несколько минут я допер до того что нам вовсе не нужно проходить наивно по фору и скалдывать все числа подряд
Код
a,k = list(map(int,input().split()))
s = list(map(int,input().split()))
st = sum(s[:k])
mst = st
for i in range(k,a):
st = st + s[i] - s[i-k]
if st > mst:
mst = st
print(mst)Зачем нам перебирать через фор одно и тоже если я могу
cur_sum - last_num + prev_num
Тогда проверив
max_sum и sum
то можно легко найти решение на эту задачку
