+、-からなる式が与えられます。
適切な位置に括弧を付け、式の値を最小にするプログラムを書きます。1以上1000000以下の正の整数と+、-で構成され、少なくとも一つの演算子を含みます。
式の長さは最大50です。50-50+40-30+20-10-100
-で分割して、それぞれの塊に分けます。expression = input().strip()
# 1. '-'를 기준으로 먼저 나눈다.
parts = expression.split('-')
# 2. 첫 번째 덩어리는 무조건 더한다.
total = sum(map(int, parts[0].split('+')))
# 3. 그 이후 덩어리는 모두 괄호로 묶인다고 생각하고 각각 +로 쪼개서 합산한 뒤 빼기
for part in parts[1:]:
total -= sum(map(int, part.split('+')))
print(total)line = input().strip().split("-")
answer = sum(list(map(int, line[0].split("+"))))
print(answer if len(line) <= 1 else answer - sum([list(map(int, s.split("-")))[0] for s in "+".join(line[1:]).split("+")]))
1-10+20-30+4050-30+25+5055-50+400-10+20+4010-00020+00030+0002510-20+30-40+50-60+70100-10+5+30+40+100100