#mining. 精选矿石

精选矿石

文件输入输出

本题采用文件输入输出。

  • 输入文件:mining.in
  • 输出文件:mining.out

题目描述

你驾驶宇宙飞船在星际探险中降落到一颗小行星上,发现了一堆富矿。这里共有 nn 块珍贵矿石,第 ii 块矿石的重量为 wiw_i,能量价值为 viv_i

这些矿石的重量非常接近:最轻矿石与最重矿石的重量之差不超过 1010

飞船货舱的总载重量上限为 mm。你需要在总重量不超过 mm 的前提下选取若干块矿石带回地球,每块矿石最多只能选取一次,使所选矿石的总能量价值最大。

请输出能够获得的最大总能量价值。

输入格式

第一行包含两个整数 n,mn,m

接下来 nn 行,每行包含两个整数 wi,viw_i,v_i,分别表示第 ii 块矿石的重量和能量价值。

输出格式

输出一个整数,表示能够获得的最大总能量价值。

如果一块矿石都装不了,即每块矿石的重量都大于 mm,输出 00

样例输入 1

4 6
2 1
3 4
4 10
3 8

样例输出 1

12

样例说明 1

最优方案是选择第 22 块矿石(重量为 33,价值为 44)和第 44 块矿石(重量为 33,价值为 88)。总重量为 66,总价值为 1212

样例输入 2

4 1000000000
500000002 10
499999997 8
499999996 2
500000004 15

样例输出 2

18

数据范围

对于所有测试数据:

  • 1n1001\le n\le 100
  • 1m1091\le m\le 10^9
  • 1wi1091\le w_i\le 10^9
  • 1vi1071\le v_i\le 10^7
  • max(wi)min(wi)10\max(w_i)-\min(w_i)\le 10
  • 所有输入均为整数。
测试点编号 nn mm 特殊性质
151\sim 5 n20n\le 20 1m1001\le m\le 100 A
6146\sim 14 n100n\le 100 1m1051\le m\le 10^5
152015\sim 20 1m1091\le m\le 10^9

性质 A:所有满足 wimw_i\le m 的矿石的重量之和不超过 mm,即

1in, wimwim.\sum_{1\le i\le n,\ w_i\le m}w_i\le m.