合并石子
测试数据来自 system/1190
作业已超过截止时间,您无法递交本题目。
时间限制:1秒 内存限制:256M
【问题描述】
有 \(n\) 堆石子,第 \(i\) 堆石子的重量为 \(w_i\)。每次可以任选两堆合并成一堆,其代价为两堆石子重量和。那么,要将 \(n\) 堆合并成一堆,最小的代价是多少?比如:有 5 堆石子,重量分别为:1 2 6 7 8,把它们合并成一堆的最小代价是 51。
【输入格式】
第一行是一个整数 \(n\),表示石子堆的数量。
第二行包含 \(n\) 个整数,用空格分隔,第 \(i\) 个整数 \(w_i\) 是第 \(i\) 堆的数目。
【输出格式】
一个整数,表示最小代价。
【输入输出样例】
Input
5
1 2 6 7 8
Output
51
【数据限制】
对于 \(30\%\) 的数据,保证有 \(n≤1000\):
对于 \(50\%\) 的数据,保证有 \(n≤5000\);
对于全部的数据,保证有 \(n≤200000\),\(1≤w_i≤2 * 10^9\)。