1441 开心购物免费淘

Time Limit : 2000/1000 MS(Java/Others) | Memory Limit : 65536/32768 KB(Java/Others)

Submits : 0 | Solved : 0

Description

免费,有这么好的事情吗?幸运真的降临到了CoCo身上。前阵子,CoCo参加某电视台“开心购物”的活动,获得了第一名,为此电视台奖励给CoCo一个免费购物的机会。但是,免费也是有条件约束的,那就是给CoCo一个可容纳c重量的背包,然后向CoCo提供了n种商品,CoCo可以免费获取这些商品中的全部或部分,条件是所拿物品的总重量不能超过背包能容纳的重量。已知商品i的重量为wi,价值为pi,且装包时货物可以拆开。那么请问,CoCo要怎样选择,才能使自己装包所得的物品总价值是最高呢?当然要小贪心一下了,所以请你帮CoCo设计一个合理的方案吧!

Input

输入分多行。第1行先输入两个数n和c,其中n是一个整数,表示商品的种类。c是一个浮点数,表示背包可容纳的重量。

接下去的n行表示n种商品,每行包含两个浮点数,分别表示该种商品的重量和价值。


Output

输出CoCo可以获取的商品的重量和价值,每种商品占据一行。如果某种商品需要拆开的,则还要输出获取的百分比,最后再输出CoCo所获取的所有商品的总价值,具体格式见样例。

Sample Input

5 90
32.5 56.2
25.3 40.5
37.4 70.8
41.3 78.4
28.2 40.2

Sample Output

weight=41.3 price=78.4
weight=37.4 price=70.8
weight=32.5 price=56.2 rate=34.8%
total price=168.7

HINT

sample output表示CoCo可装包的物品分别为:

重量为41.3,价值为78.4的
重量为37.4,价值为70.8的
重量为32.5,价值为56.2的,只能装入34.8%
最后装包物品的总价值为168.7


Source

NBU OJ

[ Top ] | [ Submit ]