#YBTJ1319. 【例6.1】排队接水

【例6.1】排队接水

【题目描述】

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

【输入】

共两行,第一行为 n(1n1000)n(1≤n≤1000);第二行分别表示第 11 个人到第 nn 个人每人的接水时间 T1T2TnT_1,T_2,…,T_n,每个数据之间有 11 个空格。

【输出】

有两行,第一行为一种排队顺序,即 11nn 的一种排列;第二行为这种排列方案下的平均等待时间(输出结果精确到小数点后两位)。

【输入样例】

10							
56 12 1 99 1000 234 33 55 99 812

【输出样例】

3 2 7 8 1 4 9 6 10 5
291.90

【输出说明】

输出说明,让三号同学第一个接水,其余同学等待时间为三号同学的接水时间:T3T_3=1 ,二号同学第二个接水,其余同学的等待时间:T2T_2=12,……

【来源】

一本通在线评测