食堂排队
测试数据来自 system/1144
作业已超过截止时间,您无法递交本题目。
时间限制: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