#CTR0005. 领水

领水

题目描述

剑门关主峰海拔 12001200 余米,山路陡峭曲折,最险处的 “猿猱道” 仅容一人侧身通过。经过两三个小时的艰难攀爬,终于有 nn 名游客先后抵达山顶观景台。此刻众人双腿酸胀、喉干舌燥,恰逢景区在观景台旁设置了免费矿泉水发放点 —— 这是为缓解登山游客疲劳特意安排的便民服务,由两名工作人员轮流为大家递水登记。

由于发放点空间有限,每次只能为一名游客办理领水手续,每名游客的登记信息、领取瓶装水的时间(含登记信息和领取瓶装水的过程)各不相同,记为 TiT_i。为了让大家尽快领到水休息,请编程找出这 nn 名游客的最优排队顺序,使得所有人的平均等待时间最小。

若两名游客的领水时间相同,则编号(按抵达山顶的先后顺序编排)更小的游客优先排队。

输入格式

第一行为一个整数 nn

第二行 nn 个整数,第 ii 个整数 TiT_i 表示第 ii 名游客的领水时间 TiT_i(按照达山顶的先后顺序给出,编号从 11 开始)。

对于 100%100\% 的数据,保证 1n10001\le n \leq 10001ti1061\le t_i \leq 10^6,不保证 tit_i 不重复。

输出格式

第一行为一种平均时间最短的排队顺序;

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

输入样例

10 
56 12 1 99 1000 234 33 55 99 812

输出样例

3 2 7 8 1 4 9 6 10 5
291.90