U509345 排序差

题目背景

本人出的第一道题!~~(包括文化课~~

题目描述

给定序列 $a_n$,定义 $f(i)$ 为将 $a_1, a_2,...,a_i$ 从小到大排序后除第一个数外每个数与前面一个数的差值之和,即 $f(i)=\sum_{j=2}^ia_j-a_{j-1}$。 最开始你可以交换任意两个数任意多次,最大化 $\sum_{i=2}^nf(i)$ 。

输入格式

第一行一个正整数 $n$ 表示序列 $a$ 的数的个数 第二行 $n$ 个整数,第 $i$ 个数表示 $a_i$,每个数之间用空格隔开。

输出格式

一个整数,表示 $\sum_{i=2}^nf(i)$ 的最大值。

说明/提示

**【样例 $1$ 解释】** 当你选择不交换顺序时,$f(2) = 2 - 1 = 1, f(3) = (2 - 1) + (3 - 2) = 2$,答案为 $f(2)+f(3) = 3$。 当你交换第二个和第三个数的位置,序列变为 $1, 3, 2$,此时 $f(2) = 3 - 1 = 2, f(3) = (2 - 1) + (3 - 2)=2$,答案为 $f(2)+f(3) = 4$,可以证明不存在更大的解。 **【数据范围】** 对于前 $20\%$ 的数据, $2\le n\le3$。 对于 $100\%$ 的数据,$2 \le n\le 10^6$,$1\le a_i\le 10^9$。