Problem1041--§2 6 【例6.1】排队接水

1041: §2 6 【例6.1】排队接水

[Creator : ]
Time Limit : 1.000 sec  Memory Limit : 256 MiB

Description

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

Input

共两行,第一行为 $n\ (1 ≤ n ≤ 1000)$;
第二行分别表示第 $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}$ 不重复。

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

Source/Category

基础算法 4.13.贪心