题目描述
个人到一个水龙头前排队接水,第 个人接满水需要 分钟。
接水顺序由你安排:某人的等待时间 = 排在他前面所有人的接水时间之和。请安排一个顺序,使所有人的平均等待时间最小,并输出这个顺序(用原来的编号表示)与最小平均等待时间。
输入格式
第一行一个整数 。
第二行 个整数,第 个数表示编号为 的人的接水时间 。
输出格式
第一行 个整数,用空格分隔:最优顺序下每个人的原编号。
第二行一个数:最小平均等待时间,保留 位小数。
样例
输入:
10
56 12 1 99 1000 234 33 55 99 812
输出:
3 2 7 8 1 4 9 6 10 5
292.50
提示
贪心策略:接水时间短的排前面——谁都不该让一大群人等自己。(为什么这样最优?交换相邻两人推一下就知道。)
数据范围
;(数据保证 互不相同)。
说明
- 本站仅评测样例;正式评测与排名请到洛谷原题页提交。