鞋匠的烦劳

测试数据来自 system/1769

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


【题目描述】

  一个鞋匠有 \(N\)个必须完成的订单。鞋匠一天只能处理一个订单,但是一个订单可能需要很多天才能完成。对于第 \(i\) 个订单,整数 \(T_i\) 代表鞋匠完成这件工作所需要的天数。
  但是,订单太多是需要付出代价的。
  每个客户都认为自己的订单应该被马上处理。因此,对于第 \(i\) 个订单,在开始着手这件工作之前,每天都要付罚金 \(S_i\) 美分。写一个程序来帮助鞋匠找处所付罚金最少的订单处理顺序。

【输入格式】

  输入第一行只有一个整数,代表测试点的数量。接下来有一空行。在相邻两组测试数据之间也有一个空行。每组数据的第一行将给出订单总数 \(n\),接下来的第 \(i\) 行有两个整数,即完成第 \(i\) 件工作所需要的时间 \(T_i\) 和延迟这项工作每天需要交纳的罚金 \(S_i\)。

【输出格式】

  对于每组测试数据,你的程序要输出最少的罚金和工作次序。每件工作用它在输入文件的序号(从1开始)表示。所有的序号对应在同一行输出,并且相邻两个序号之间应用一个空格分开。如果有多种可能的解,输出字典序最小的一种。
  相邻两组数据的输出间应空一行。

【输入输出样例】

 Input

1

4
3 4
1 1000
2 2
5 5

 Output

42
2 1 3 4

【数据限制】

  对于 \(100\%\) 的数据,\(1≤n≤1000\),\(1≤T_i≤1000\),\(1≤S_i≤10000\),最多不超过100组数据。

【来源】

  Mr.he

信息

ID
1771
难度
(无)
分类
贪心 | 其他 | 排序 点击显示
标签
(无)
递交数
0
已通过
0
通过率
?
上传者