#ATarc120a. [ARC120A] Max Add

[ARC120A] Max Add

题目描述

对于数列 a=(a1,a2,a3,,ak)a = (a_1, a_2, a_3, \dots, a_k),定义 f(a)f(a) 为经过以下操作后 aa 的所有元素之和。

  • 按照 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)

输入格式

输入以如下格式从标准输入中给出。

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

输出

2
8
19

说明/提示

限制条件

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

样例解释 1

例如,当 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)
  • 操作后的 aa 的总和为 1919,这就是 f(a)f(a) 的值。

由 ChatGPT 4.1 翻译