Problem2951--贪心-合并石子

2951: 贪心-合并石子

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 154  Solved: 97
[Status] [Submit] [Creator:]

Description

有 n 堆石子,第 i 堆石子中有 a_i 颗石子。  

你需要进行 n-1 次操作。

每次操作,你需要从现有的石子堆中选择两堆石子,并将这两堆石子合并成一堆石子。

每次操作的价值为合并成的那堆石子中的石子颗数。  

这样,经过恰好 n-1 次操作后,这 n 堆石子最终合并成一堆石子。

你需要使所有操作的价值之和最大。  

求最大价值之和。  

Input

第一行,一个整数 n。  

第二行,n 个整数 a_1, a_2, ...., a_n,两两之间以一个空格分隔。  

Output

输出一个整数,表示最大价值之和。  

Sample Input Copy

3
1 2 3

Sample Output Copy

11

HINT

【样例解释】

- 初始时,有三堆石子,石子数为: 1 2 3
- 合并第 2 堆和第 3 堆石子,此次合并的价值为 2 + 3 = 5,合并后的两堆石子数为:1 5
- 合并剩下的两堆石子,此次合并的价值为 1 + 5 = 6,合并后只剩下一堆石子,操作结束。

两次合并的价值之和为 5 + 6 = 11。  

【数据规模与约定】

- 对于 20% 的数据,n, a_i ≤ 10
- 对于 50% 的数据,n, a_i ≤ 100
- 对于 100% 的数据,1 ≤ n, a_i ≤ 1000

Source/Category