Текстовый файл состоит не более чем из символов, которые являются цифрами от 1 до 9, знаками плюс, минус. Найдите подпоследовательность, состоящую из максимального количества положительных чисел. (Положительное число — число, перед которым либо нет знака, либо знак «+»)
Для выполнения этого задания следует написать программу. Воспользуйтесь файлом «Задание_35_ДЗ». В ответе запишите сумму данной подпоследовательности, если подпоследовательностей с максимальным количеством положительных элементов несколько, то в ответе запишите максимальную сумму.
# Читаем содержимое файла
f = open("Задание_35_ДЗ__tcn1.txt").read()
# Инициализируем переменные
max_plus = 1 # Максимальное количество последовательных знаков ’+’
count_plus = 1 # Текущее количество последовательных знаков ’+’
max_sum = int(f[0]) # Максимальная сумма чисел
sum = int(f[0]) # Текущая сумма чисел
# Проходим по всем символам строки, начиная со второго и с шагом 2
for i in range(1, len(f) - 1, 2):
if f[i] == ’+’:
# Если текущий символ — ’+’, добавляем следующее число к сумме
sum += int(f[i + 1])
count_plus += 1 # Увеличиваем счетчик последовательных ’+’
# Проверяем, превышает ли текущий счетчик максимальный
if count_plus > max_plus:
max_plus = count_plus # Обновляем максимальное количество ’+’
max_sum = sum # Обновляем максимальную сумму
elif count_plus == max_plus:
# Если счетчики равны, проверяем, является ли текущая сумма больше максимальной
if sum > max_sum:
max_sum = sum # Обновляем максимальную сумму
else:
# Если текущий символ не ’+’, сбрасываем сумму и счетчик
sum = 0
count_plus = 0
# Выводим максимальную сумму чисел, соответствующих самой длинной последовательности ’+’
print(max_sum)
Ответ: 62