编程题

排队序列

已知现在有 n 个人需要打电话,他们已经排好了队伍,每个人打电话的时间为Ti。请你帮助他们找到一个排队打电话的队列方案,使队伍的平均等待时间更短。

输入格式

第一行:一个正整数n,表示一共n个人。

第二行:n个数字,分别表示第1个人到第n个人每人的打电话时间T1,T2,…,Tn,每个数据之间有1个空格。

输出格式

第一行为一种排队顺序,即原先队列编号1到n的一种排列;

第二行为这种排列方案下的平均等待时间(输出结果精确到小数点后两位,按照C语言的浮点数保留规则进行保留)。

 

输入样例

10 

56 12 1 99 1000 234 33 55 99 812

输出样例

3 2 7 8 1 4 9 6 10 5

291.90

说明提示

1≤n≤100000

1≤Ti≤1000000

如果有多种排列都可以让平均等待时间最短,则输出其中字典序最小的序列。字典序指的是英文单词在字典中排序使用的规则顺序。

限制

时间限制:1000ms

内存限制:512MiB

查看答案
赣ICP备20007335号-2