На вход программы подаётся натуральное число N, а затем N целых чисел. Необходимо определить минимальную сумму непрерывной подпоследовательности элементов.
Входные данные: Даны два входных файла: файл A и файл B, каждый из которых содержит в первой строке количество чисел N . Каждая из следующих N строк содержит целое число, по модулю не превышающее
.
В ответе укажите два числа через пробел: сначала значение искомой суммы для файла А, затем для файла B.
f = open(’27B_09_4.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 - mx < mn:
mn = s - mx
# При необходимости заменить префикс
mx = max(mx, s)
print(mn)
Ответ: -138654 -6932214