#P1035. 最优比赛策略

最优比赛策略

题目描述

你正在参加一个程序设计竞赛,这次竞赛一共有 NN 道题目,每个题目的难度可以用完成它所需的时间来确定。比赛时每个题目还有一个罚时,等于从比赛开始到你完成此题时所经过的时间,你所有题目的罚时之和叫做总罚时。比赛结束后,所有选手按照总罚时从小到大排名。

这种特殊的比赛规则带来了一个策略问题,就是哪些题应该先做,哪些题应该后做?

比方说,一共有两个题目 A、B,难度分别为 30302020。那么,假如你先做 A 再做 B,那么你完成 A 的时间距比赛开始就是 3030 分钟,于是 A 的罚时就是 3030,然后你完成 B 又用了 2020 分钟,这样完成 B 时距比赛开始就有 30+20=5030 + 20 = 50 分钟,于是 B 的罚时就是 5050。这样你的总罚时就是 30+50=8030 + 50 = 80

但是假如你先做 B 再做 A 呢?不难算出,这样你的总罚时只有 7070。因此后者是一种更好的比赛策略。

现在,你已经估计出了 NN 道题目大致的难度,请设计一种最好的比赛策略,并计算出该策略下的罚时。

输入格式

第一行为一个整数 NN1N101 \leq N \leq 10),表示一共有 NN 道题目。
第二行为 NN 个整数,分别表示这 NN 道题目的难度(均为不超过 100100 的正整数)。

输出格式

输出一个整数,为最优策略下的罚时。

样例输入

2
30 20

样例输出

70