#350. [CZOI2011 E] 排队拍照

[CZOI2011 E] 排队拍照

题目描述

在一个美丽的景点,有 NN 个同学想每人拍一张照片作为留念,于是他们就排好队一个一个来拍。但是呢,每个人拍照需要的时间是不同的,有些同学是在创作艺术,可能花费时间比较多,有些同学比较随意,只想证明自己到此一游而已。 考虑到排队排在后面的同学可能会等比较长的时间,为了让这个现象有所缓解,现在需要你来帮助他们找到一个排队的方案,使得所有人等待的时间总和最少。

输入格式

第一行包含一个整数 NN,表示有 NN 个同学想拍照; 第二行包含 NN 个用空格隔开的整数,表示每个人拍照所需的时间 T1,T2,,TnT_1,T_2,\dots,T_n0Ti1000000 \le T_i \le 100000)。

输出格式

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

5
2 3 1 5 4
20

样例解释

排队顺序(用每个人的编号表示)应该是 3,1,2,5,43,1,2,5,4,每个人拍照所需的时间分别是 1,2,3,4,51,2,3,4,5, 这样的话每个人等待的时间分别是 0,1,3,6,100,1,3,6,10,所以总的等待时间就是 0+1+3+6+10=200+1+3+6+10 = 20,不可能找到比这个等待时间更少的方案了。

数据范围

15%15\% 的数据满足 N30N \leq 30

30%30\% 的数据满足 N100N\leq100

50%50\% 的数据满足 N1000N\leq1000

100%100\% 的数据满足 N50000N\leq50000