#2952. 方差

方差

题目描述

给定长度为 nn 的非严格递增正整数数列 1≤a1≤a2≤…≤an1 \le a_1 \le a_2 \le \ldots \le a_n。每次可以进行的操作是:任意选择一个正整数 1<i<n1 \lt i \lt n,将 aia_i 变为 ai−1+ai+1−aia_{i-1} + a_{i+1} - a_i。求在若干次操作之后,该数列的方差最小值是多少。请输出最小值乘以 n2n^2 的结果。

其中方差的定义为:数列中每个数与平均值的差的平方的平均值。更形式化地说,方差的定义为 D=1n∑i=1n(ai−a‾)2D = \frac{1}{n} \sum_{i=1}^n (a_i - \overline{a})^2,其中 a‾=1n∑i=1nai\overline{a} = \frac{1}{n} \sum_{i=1}^n a_i。

输入格式

从文件 variance.in 中读入数据。

输入的第一行包含一个正整数 nn,保证 n≤104n \le 10^4。

输入的第二行有 nn 个正整数,其中第 ii 个数字表示 aia_i 的值。数据保证 1≤a1≤a2≤…≤an1 \le a_1 \le a_2 \le \ldots \le a_n。

输出格式

输出到文件 variance.out 中。

输出仅一行,包含一个非负整数,表示你所求的方差的最小值的 n2n^2 倍。

4
1 2 4 6
52

样例 2

见附加文件中的 variance2.in与variance2.ans。

样例 3

见附加文件中的 variance3.in 与 variance3.ans。

样例 4

见附加文件中的 variance4.in 与 variance4.ans。

数据范围

测试点编号 n≤n\le ai≤a_i\le
1∼31\sim 3 44 1010
4∼54\sim 5 1010 4040
6∼86\sim 8 1515 2020
9∼129\sim 12 2020 300300
13∼1513\sim 15 5050 7070
16∼1816\sim 18 100100 4040
19∼2219\sim 22 400400 600600
23∼2523\sim 25 1000010000 5050

对于所有数据,保证 n≤10000,ai≤600n\le 10000,a_i\le 600。