atcoder#ARC130F. [ARC130F] Replace by Average

[ARC130F] Replace by Average

题目描述

N N 項からなる正整数列 A = (A1, A2, , AN) A\ =\ (A_1,\ A_2,\ \ldots,\ A_N) が与えられます。

あなたはこの数列に対して、次の操作を何度でも行うことができます。

  • 1 i < j < k  N 1\leq\ i\ <\ j\ <\ k\ \leq\ N かつ j = i+k2 j\ =\ \frac{i+k}{2} となる整数 i, j, k i,\ j,\ k を選ぶ。Aj A_j Ai+Ak2 \lfloor\frac{A_i+A_k}{2}\rfloor に置き換える。

操作後の i=1N Ai \sum_{i=1}^N\ A_i としてありうる最小値を求めてください。

输入格式

入力は以下の形式で標準入力から与えられます。

N N A1 A_1 A2 A_2 \ldots AN A_N

输出格式

答えを出力してください。

题目大意

给定一个数组,可以进行以下操作任意多次。

选定 1i<j<kN1\leq i<j<k\leq N ,将 aja_j 改为 Ai+Ak2\lfloor\frac{A_i+A_k}{2}\rfloor

求数组所有数的和的最小值。

5
2 2 5 5 4
13
5
3 1 4 1 5
11
3
3 1 3
7
3
3 5 3
9

提示

制約

  • 3 N 3× 105 3\leq\ N\leq\ 3\times\ 10^5
  • 1 Ai 1012 1\leq\ A_i\leq\ 10^{12}

Sample Explanation 1

次のように操作を行うことで、i=1N Ai = 13 \sum_{i=1}^N\ A_i\ =\ 13 を実現できます。 - (i,j,k) = (1,3,5) (i,j,k)\ =\ (1,3,5) として操作を行う。数列 A A (2,2,3,5,4) (2,2,3,5,4) へと変化する。 - (i,j,k) = (3,4,5) (i,j,k)\ =\ (3,4,5) として操作を行う。数列 A A (2,2,3,3,4) (2,2,3,3,4) へと変化する。 - (i,j,k) = (2,3,4) (i,j,k)\ =\ (2,3,4) として操作を行う。数列 A A (2,2,2,3,4) (2,2,2,3,4) へと変化する。