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 翻译