题目描述
对于一个序列 a = (a1, a2, a3, …, ak),让 f(a) 表示在执行以下操作后其元素的总和:
- 对于每个 i = 1, 2, 3, …, k,按此顺序执行以下操作:将 a 中当前的最大值加到 ai 上。
给定一个长度为 N 的序列:A = (A1, A2, A3, …, AN)。
对于每个从 1 到 N(包括)的整数 k,当 a = (A1, A2, A3, …, Ak) 时,求出 f(a) 。
输入格式
输入从标准输入中按以下格式给出:
N
A1 A2 A3 … AN
输出格式
输出 N 行。
第 k 行应包含当 a = (A1, A2, A3, …, Ak) 时的 f(a) 。
样例
3
1 2 3
2
8
19
说明/提示
样例说明 1
例如,当 a = (A1, A2, A3) 时, f(a) 的计算如下:
- 首先,对于 i=1 ,将 a 的当前最大值 3 加到 a1 上,使 a = (4, 2, 3)。
- 接下来,对于 i = 2 ,将 a 的当前最大值 4 加到 a2 上,使 a = (4, 6, 3)。
- 最后,对于 i = 3 ,将 a 的当前最大值 6 加到 a3上,使 a = (4, 6, 9)。
- f(a) 是 a 现在的元素总和,即 19。
数据范围
- 1 ≤ N ≤ 2 × 105
- 1 ≤ Ai ≤ 107
- 所有输入都是整数。