T823220 撤销账目(undo)
题目描述
小林正在整理账目。开始时,账目中没有任何数字。
他依次读出 $n$ 个整数,并按下列规则操作:
- 如果读出的数是正整数,就把它记录在当前账目的末尾。
- 如果读出的数是 $0$,就撤销当前账目中的最后一个数,也就是删去最后一条尚未被撤销的记录。
例如,依次读出 $1,3,5,0,0,6$ 后,账目的变化过程为:
$$
\varnothing\to(1)\to(1,3)\to(1,3,5)\to(1,3)\to(1)\to(1,6).
$$
保证每次读到 $0$ 时,当前账目中都至少有一个数可以撤销。
请计算所有操作完成后,账目中剩余数字的总和。如果账目为空,总和为 $0$。
输入格式
第一行包含一个正整数 $n$,表示操作的数量。
接下来 $n$ 行,每行包含一个整数 $a_i$,表示第 $i$ 次读出的数。
输出格式
输出一行一个整数,表示最终账目中所有数字的总和。
说明/提示
### 样例解释
先记下 $3$,再撤销它;随后记下 $4$,再撤销它。最后账目中没有任何数字,所以总和为 $0$。
## 样例 2
见 `考生目录/undo/undo2.in` 与 `考生目录/undo/undo2.ans`。该样例满足测试点 $1\sim8$ 的约束。
## 样例 3
见 `考生目录/undo/undo3.in` 与 `考生目录/undo/undo3.ans`。该样例满足测试点 $9\sim20$ 的约束。
## 样例 4
见 `考生目录/undo/undo4.in` 与 `考生目录/undo/undo4.ans`。该样例满足测试点 $9\sim20$ 的约束。
## 数据范围
对于所有数据,保证:
- $1\le n\le3\times10^5$;
- $0\le a_i\le100$;
- 每次读到 $0$ 时,当前账目非空;
- 所有输入均为整数。
| 测试点编号 | 附加限制 |
| ---------- | ---------- |
| $1\sim8$ | $n\le2000$ |
| $9\sim20$ | 无 |