#C50104. 排队接水
排队接水
题目描述
有 n 个人在一个水龙头前排队接水,假如每个人接水的时间为 ti ,请编程找出这 n 个人排队的一种顺序,使得 n 个人的平均等待时间最小。
输入格式
输入文件共两行
第一行:为 n( n 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
提示:
最后一个人不需要等待,轮到他时直接就可以接水了。所以最后一个人的接水时间不能计算在等待时间里面。