Таких скидок больше не будет!

Геодезист измеряет высоту над уровнем моря (в миллиметрах) относительно уровня начала дороги, для каждой из N её метровых отметок. Нумерация отметок начинается с единицы.
Проектировщикам необходимо выбрать участок дороги длиной не менее К метров, на котором значение суммы всех высот, выраженное в миллиметрах, максимально. Это значение называется оценкой участка дороги. Начало и конец искомого участка совпадают с метровыми отметками на дороге. Началом участка считается метровая отметка дороги с меньшим номером.
Определите две метровые отметки дороги так, чтобы расстояние между ними было не менее К метров, а оценка соответствующего участка дороги — максимально возможной. Укажите в ответе найденное числовое значение максимальной оценки, выраженное в миллиметрах.
Входные данные.
Даны два входных файла (файл А и файл В), каждый из которых в первой строке входных данных задаётся протяженность дороги N (1 ≤ N ≤ 10 000), а во второй — натуральное число К — минимально допустимое расстояние (в метрах) между двумя отметками дороги (N > К).
В каждой из следующих N строк находится одно целое число, не превышающее по модулю 10 000 000: высота относительно уровня начального участка дороги (в миллиметрах) на соответствующей метровой отметке дороги.
В ответе укажите два числа: сначала значение искомой величины для файла А, затем — для файла В.
2458862 11367571
f = open('1.txt')
N = int(f.readline())
K = int(f.readline())
d = [int(x) for x in f]
maxi = -10**10
ras = 10**10
s = [0]*N
for i in range(N):
s[i] = s[i-1] + d[i]
for j in range(K,N):
ras = min(ras, s[j-K])
maxi = max(maxi, s[j], s[j] - ras)
print(maxi)
Решай задачи ЕГЭ в приложении
Скачивай наш Тренажер ЕГЭ на iPhone или Android и тренируйся в любое время и в любом месте!