CF3B.Lorry

普及+/提高

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

A group of tourists is going to kayak and catamaran tour. A rented lorry has arrived to the boat depot to take kayaks and catamarans to the point of departure. It's known that all kayaks are of the same size (and each of them occupies the space of 1 cubic metre), and all catamarans are of the same size, but two times bigger than kayaks (and occupy the space of 2 cubic metres).

Each waterborne vehicle has a particular carrying capacity, and it should be noted that waterborne vehicles that look the same can have different carrying capacities. Knowing the truck body volume and the list of waterborne vehicles in the boat depot (for each one its type and carrying capacity are known), find out such set of vehicles that can be taken in the lorry, and that has the maximum total carrying capacity. The truck body volume of the lorry can be used effectively, that is to say you can always put into the lorry a waterborne vehicle that occupies the space not exceeding the free space left in the truck body.

给定整数 n,vn,v

有一辆载重量为 vv 的货车,准备运送两种物品。物品 A 的重量为 11,物体 B 的重量为 22,每个物品都有一个价值 pip_i。求货车可以运送的物品的最大价值。

输入格式

The first line contains a pair of integer numbers nn and vv ( 1<=n<=1051<=n<=10^{5} ; 1<=v<=1091<=v<=10^{9} ), where nn is the number of waterborne vehicles in the boat depot, and vv is the truck body volume of the lorry in cubic metres. The following nn lines contain the information about the waterborne vehicles, that is a pair of numbers tit_{i} , pip_{i} ( 1<=ti<=21<=t_{i}<=2 ; 1<=pi<=1041<=p_{i}<=10^{4} ), where tit_{i} is the vehicle type ( 11 – a kayak, 22 – a catamaran), and pip_{i} is its carrying capacity. The waterborne vehicles are enumerated in order of their appearance in the input file.

第一个行包含两个整数 nnvv,分别表示有 nn 个物品,货车的载重量为 vv。(1n1051\le n\le10^51v1091\le v\le10^9

接下来 nn 行,每行两个整数,分别表示物品的重量 tit_i 和价值 pip_i。(ti=1t_i=1221pi1041\le p_i\le10^4

输出格式

In the first line print the maximum possible carrying capacity of the set. In the second line print a string consisting of the numbers of the vehicles that make the optimal set. If the answer is not unique, print any of them.

第一行,一个整数,表示价值之和的最大值。

第二行,构成最大价值的物品的编号(如果答案不唯一,请输出其中任何一个)。

输入输出样例

  • 输入#1

    3 2
    1 2
    2 7
    1 3

    输出#1

    7
    2
首页