#C50104. 排队接水

排队接水

题目描述

有 n 个人在一个水龙头前排队接水,假如每个人接水的时间为 ti ,请编程找出这 n 个人排队的一种顺序,使得 n 个人的平均等待时间最小。

输入格式

输入文件共两行

第一行:为 n( n \leq 10000 );

第二行:分别表示第 1 个人到第 n 个人每人的接水时间,t1 ,t2 ,t3 ,…… ,tn,每个数据之间有 1 个空格。

输出格式

输出文件有两行,第一行为一种排队顺序,即 1 到 n 的一种排列;

第二行为这种排列方案下的平均等待时间(输出结果精确到小数点后两位)。

样例

10
56 12 1 99 1000 234 33 55 99 812
3 2 7 8 1 4 9 6 10 5
291.90
12
12 23 12 9 8 12 9 23 45 78 69 35
5 4 7 1 3 6 2 8 12 9 11 10
81.83
16
999 66 33 12 45 98 65 32 79 46 13 10 30 55 890 144
12 4 11 13 8 3 5 10 14 7 2 9 6 16 15 1
324.69

提示:

最后一个人不需要等待,轮到他时直接就可以接水了。所以最后一个人的接水时间不能计算在等待时间里面。