合并!
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

个石子堆,第 个在一开始有 a_i 个石子。
每次你可以选择两堆相邻的石子 合并,合并完之后得到的收益为,两堆石子变成一堆有 个石子的堆。
你会一直进行合并操作,直到只剩下一堆石子为止。
求你能得到的最大的收益之和。

输入描述:

第一行一个正整数 
第二行 个正整数,表示

输出描述:

输出一个数,表示能获得的最大收益
示例1

输入

复制
3
1 2 3

输出

复制
11