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$ | 无 |