5716: 排队拍照(photo)

Memory Limit:128 MB Time Limit:1.000 S
Judge Style:Text Compare Creator:
Submit:29 Solved:22

Description

在一个美丽的景点,有N个同学想每人拍一张照片作为留念,于是他们就排好队一个一个来拍。但是呢,每个人拍照需要的时间是不同的,有些同学是在创作艺术,可能花费时间比较多,有些同学比较随意,只想证明自己到此一游而已。

考虑到排队排在后面的同学可能会等比较长的时间,为了让这个现象有所缓解,现在需要你来帮助他们找到一个排队的方案,使得所有人等待的时间总和最少。



Input

输入文件第一行包含一个整数NN<=50000),表示有N个同学想拍照;

输入文件第二行包含N个用空格隔开的整数,表示每个人拍照所需的时间T1,T2,……,Tn0<=Ti<=100000)。

Output

输出文件仅有一行包含一个整数——所有人等待时间总和的最小值。

Sample Input Copy

5
2 3 1 5 4

Sample Output Copy

20

HINT

排队顺序(用每个人的编号表示)应该是 3,1,2,5,4,每个人拍照所需的时间分别是1,2,3,4,5, 这样的话每个人等待的时间分别是0,1,3, 6,10,同学3排在第1位,他上去就可以拍,不用等待,他的等待时间为0;同学3要拍1分钟,所以排在第2位的同学1要等1分钟,同学1要拍2分钟,所以排在第3位的同学2要等3分钟,同学2要拍3分钟,所以排在第4位的同学5要等6分钟,同学5要拍4分钟,所以排在最后的同学4要等10分钟,总的等待时间就是0+1+3+6+10 = 20,不可能找到比这个等待时间更少的方案了。

15%的数据满足N<=30

30%的数据满足N<=100

50%的数据满足N<=1000

100%的数据满足N<=50000