/ Vijos / 题库 /

食堂排队

食堂排队

时间限制:1秒  内存限制:256M


【问题描述】

  食堂只有一个打饭窗口,有 \(n\) 个人排队打饭(编号为 \(1..n\)),已知第 \(i\) 个人打饭的时间为 \(t[i]\)。请编程找出这 \(n\) 个人排队的一种顺序,使得 \(n\) 个人的总等待时间最小。

【输入格式】

  第一行为 \(n(1≤n≤1000)\),表示由 \(n\) 个人;
  第二行分别表示第 1 个人到第 \(n\) 个人每人的打饭时间 \(t[1],t[2],…,t[n]\)。

【输出格式】

  第一行为排队顺序,即 \(1\) 到 \(n\) 的一种排列(每个数表示一个人的编号),如果有多种顺序,请输出字典序最小的。
  第二行为这种排列方案下 \(n\) 个人的总等待时间最小值。

【输入输出样例】

 Input

6
5 3 8 2 6 3

 Output

4 2 6 1 5 3
47

【数据限制】

  对于全部的数据,满足 \(1≤n≤1000\),\(1≤t[i]≤1000000\)

【来源】

  Mr.he

信息

ID
1144
难度
4
分类
贪心 点击显示
标签
(无)
递交数
2
已通过
1
通过率
50%
被复制
3
上传者