1041: §2 6 【例6.1】排队接水
[Creator : ]
Description
有 $n$ 个人在一个水龙头前排队接水,假如每个人接水的时间为 $T_i$,请编程找出这 $n$ 个人排队的一种顺序,使得 $n$ 个人的平均等待时间最小。
Input
共两行,第一行为 $n\ (1 ≤ n ≤ 1000)$;
第二行分别表示第 $1$ 个人到第 $n$ 个人每人的接水时间 $T_1,\ T_2,\ …,\ T_n$,每个数据之间有一个空格。
第二行分别表示第 $1$ 个人到第 $n$ 个人每人的接水时间 $T_1,\ T_2,\ …,\ T_n$,每个数据之间有一个空格。
Output
有两行,第一行为一种排队顺序,即 $1$ 到 $n$ 的一种排列;
第二行为这种排列方案下的平均等待时间,输出结果精确到小数点后两位。
第二行为这种排列方案下的平均等待时间,输出结果精确到小数点后两位。
Constraints
$1 \leq n \leq 1000$
$1 \leq t_{i} \leq10^{6}$,不保证 $t_{i}$ 不重复。
$1 \leq t_{i} \leq10^{6}$,不保证 $t_{i}$ 不重复。
Sample 1 Input
10
56 12 1 99 1000 234 33 55 99 812
Sample 1 Output
3 2 7 8 1 4 9 6 10 5
291.90