#arc120a. [arc120_a]Max Add

[arc120_a]Max Add

问题描述

对于一个序列 a=(a1,a2,a3,,ak)a = (a_1, a_2, a_3, \dots, a_k),定义 f(a)f(a) 为进行以下操作后其元素之和:

  • 对于每个 i=1,2,3,,ki = 1, 2, 3, \dots, k,按顺序执行以下操作:将 aa 中的当前最大值加到 aia_i 上。

给定一个长度为 NN 的序列:A=(A1,A2,A3,,AN)A = (A_1, A_2, A_3, \dots, A_N)。对于 1kN1 \leq k \leq N 的每个整数,求当 a=(A1,A2,A3,,Ak)a = (A_1, A_2, A_3, \dots, A_k) 时的 f(a)f(a)

约束条件

  • 1N2×1051 \leq N \leq 2 \times 10^5
  • 1Ai1071 \leq A_i \leq 10^7
  • 输入中的所有值都是整数。

输入

输入从标准输入中按以下格式给出:

NN A1A_1 A2A_2 A3A_3 \dots ANA_N

输出

输出结果共 NN 行。第 kk 行应该包含当 a=(A1,A2,A3,,Ak)a = (A_1, A_2, A_3, \dots, A_k) 时的 f(a)f(a)


示例输入 1

3
1 2 3

示例输出 1

2
8
19

例如,当 a=(A1,A2,A3)a = (A_1, A_2, A_3) 时,f(a)f(a) 的计算过程如下:

  • 首先,对于 i=1i = 1,将 aa 中的当前最大值 33 加到 a1a_1 上得到 a=(4,2,3)a = (4, 2, 3)
  • 接下来,对于 i=2i = 2,将 aa 中的当前最大值 44 加到 a2a_2 上得到 a=(4,6,3)a = (4, 6, 3)
  • 最后,对于 i=3i = 3,将 aa 中的当前最大值 66 加到 a3a_3 上得到 a=(4,6,9)a = (4, 6, 9)
  • 现在,f(a)f(a) 即为 aa 中元素的和,即 1919