B. 排队接水

    Type: RemoteJudge 1000ms 125MiB

排队接水

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

题目描述

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

一个人的等待时间不包括他的接水时间。

如果两个人接水的时间相同,编号更小的人应当排在前面。

输入格式

第一行为一个整数 nn。

第二行 nn 个整数,第 ii 个整数 TiT_i 表示第 ii 个人的接水时间 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

提示

1≤n≤10001\le n \leq 1000,1≤ti≤1061\le t_i \leq 10^6,不保证 tit_i 不重复。

初一从0开始学C++(贪心入门)

Not Claimed
Status
Done
Problem
4
Open Since
2024-5-19 0:00
Deadline
2024-6-30 23:59
Extension
24 hour(s)