#2000. 最少积分

最少积分

时间:1s

空间:256M

题目描述

小 Z 是一名正在学习加减法的小学生。为了提高她的算术技巧,爸爸制作了一沓数字卡片,每张卡片上都写着一个正整数。爸爸把一沓卡片一张张散放在桌子上,然后让小 Z 从中挑出两张卡片,将卡片上的数相加,把相加得到的和作为小 Z 这次计算的积分,再把这个和数也制成一张卡片替换掉刚才挑出的两张卡片。一直这样做,直到最后只剩下一张卡片,最后将小 Z 的积分累加起来得到总积分。

爸爸给小 Z 发了 nn 张数字卡片,请你帮小 Z 算下他得到的总积分最少是多少?

输入格式

共两行,第一行是一个正整数 nn,表示桌面上的数字卡片的数量

第二行包含 nn 个正整数 a1,a2,,ana_1,a_2,\cdots,a_n,分别表示卡片上的数,整数之间用一个空格隔开。

输出格式

一个正整数,表示小 Z 得到的总积分最少是多少。

样例

3
1 2 3
9

说明/提示

样例解释

有三张卡片,分别是 1231、2、3

他的第 11 种计算步骤如下:

  1. 1+2=31+2=3积分=3\text{积分} = 3
  2. 3+3=63+3=6积分=6\text{积分}=6

最终积分=3+6=9\text{最终积分} = 3+6 = 9

22 种计算步骤如下

  1. 2+3=52+3=5积分=5\text{积分}=5
  2. 5+1=65+1=6积分=6\text{积分}=6

最终积分=5+6=11\text{最终积分}=5+6=11

尝试多次,可以发现,能够得到的总积分最少是 99。而且小 Z 还发现,得到最少积分的方式就是每次选择一堆卡片中数字最小的两个卡片合并。

数据范围

测试点 11n=2,1ai1000n=2,1 ≤a_i≤ 1000

测试点 22n=3,1ai1000n=3,1 ≤a_i≤ 1000

测试点 484-84n100,1ai10004≤n≤ 100,1 ≤a_i≤ 1000

测试点 9109-104n10001ai10004≤n≤ 1000,1≤a_i≤ 1000