На вход программы подаётся натуральное число N, а затем N целых чисел. Необходимо определить максимальную сумму непрерывной подпоследовательности элементов.
Входные данные: Даны два входных файла: файл A и файл B, каждый из которых содержит в первой строке количество чисел N . Каждая из следующих N строк содержит целое число, по модулю не превышающее
.
В ответе укажите два числа через пробел: сначала значение искомой суммы для файла А, затем для файла B.
f = open(’27B_09_3.txt’)
n = int(f.readline())
a = [int(i) for i in f]
# Общая сумма
s = 0
mx = 0
# Минимальный префикс
mn = 0
for i in range(n):
x = a[i]
# Увеличиваем общую сумму
s += x
# Если вычесть из суммы минимальный префикс - будет ли она больше максимума
# если да - перезаписать максимум
if s - mn > mx:
mx = s - mn
# При необходимости заменить префикс
mn = min(mn, s)
print(mx)
Ответ: 133776 11715538