AT_arc066_c [ARC066E] Addition and Subtraction Hard

题目描述

joisinoお姉ちゃん有一个由 $N$ 项组成的表达式,形式为 $A_1\ op_1\ A_2\ ...\ op_{N-1}\ A_N$。其中,$A_i$ 是整数,$op_i$ 是加号 `+` 或减号 `-`。joisinoお姉ちゃん喜欢大数,因此她希望通过在表达式中任意插入括号(可以插入 $0$ 个),改变计算顺序,使表达式的值最大化。括号只能插在数字的前面或后面,同一位置可以插入任意多个括号。你的任务是编写一个程序,计算在插入括号后表达式可能取得的最大值。

输入格式

输入以如下格式从标准输入读入: > $N$ $A_1$ $op_1$ $A_2$ $...$ $op_{N-1}$ $A_N$

输出格式

输出通过插入括号后表达式可能取得的最大值。

说明/提示

## 限制条件 - $1 \leq N \leq 10^5$ - $1 \leq A_i \leq 10^9$ - $op_i$ 仅为加号 `+` 或减号 `-`。 ## 样例解释 1 $5\ -\ (1\ -\ 3)\ =\ 7$,这是最大值,因此输出 $7$。 ## 样例解释 2 $1\ -\ (2\ +\ 3\ -\ 4)\ +\ 5\ =\ 5$,这是最大值,因此输出 $5$。 ## 样例解释 3 $1\ -\ (20\ -\ (13\ +\ 14)\ -\ 5)\ =\ 13$,这是最大值,因此输出 $13$。 由 ChatGPT 4.1 翻译