货运汽车
提交数: 170, 通过率: 10%, 平均分: 36.82
题目描述:
有一辆载重量为 v 的货车, 准备运送两种物品。 物品 A 的重量为 1, 物体 B 的重量为 2, 每个物品都有一个价值。 求货车可以运送物品的最大价值。
输入格式:
第一行包含两个整数 n 和 v,分别表示有 n 个物品, 货车的载重量为 v。 (1 ≤ n ≤ 10^5; 1 ≤ v ≤ 10^9)
接下来 n 行, 每行两个整数, 分别表示物品的重量 ti 和价值 pi。 , (1 ≤ ti ≤ 2; 1 ≤ pi ≤ 10000)
输出格式:
第一行, 一个整数, 表示最大价值。
第二行 按价值从大到小,价值相同按编号从小到大,输出装入汽车中重量为1的物品,多个编号用空格隔开(如果没有重量为1的物品,第二行不用输出任何信息)。
第三行 按价值从大到小,价值相同按编号从小到大,多个编号用空格隔开(如果没有重量为2的物品,第三行不用输出任何信息)。
样例输入:
3 2 1 2 2 7 1 3
样例输出:
7 2
提示:
如果能装同样价值的物品,尽量多装载重量为1的物品。
时间限制: 1000ms空间限制: 256MB
来源: CodeForce