Текстовый файл состоит из цифр от 1 до 9, знаков операций «+», «–» и «*» (сложение, вычитание и умножение) и заглавных латинских букв A, B, C, D.
Назовём правильной суммой строку, содержащую последовательность из одного или более десятичных чисел, в которой между соседними числами стоит ровно один знак «+» и нет других знаков.
Примеры правильных сумм: «23», «115+6», «1980+12+12351».
Назовём результатом правильной суммы число, которое получится при выполнении записанных в соответствующей строке сложений. Например, результат правильной суммы «2+3» — число 5.
Найдите в данной строке правильную сумму, расположенную непосредственно после буквы D и имеющую наибольший результат.
В ответе запишите результат найденной суммы. Гарантируется, что ответ не превышает 2 · 109.
##Приведём решение на языке Python.
from re import *
s = list(findall(r'D[1-9]+(?:\+[1-9]+)*', open('25.txt').readline()))
maxi = 0
for i in s:
if '+' not in i:
maxi = max(maxi, int(i[1:]))
else:
maxi = max(maxi, sum(int(x) for x in i[1:].split('+')))
print(maxi)
Ответ: 633197952.
Приведём решение Юрия Красильникова на языке Python.
import re
s = re.findall(r'D[1-9]+(?:[+\-][1-9]+)*', open('24.txt').readline())
print(max([eval(x[1:]) for x in s]))

