#P2671. 勇士斗恶龙

勇士斗恶龙

题目背景

勇敢的骑士Cirpt要去拯救被恶龙囚禁的公主OrvR°。恶龙的洞穴里有许多房间,每个房间都有一些金币和一个怪兽。Cirpt可以任意顺序选择房间,但Cirpt的体力有限,他只能打败一定数量的怪兽。每个怪兽需要的体力不同,但每个怪兽的金币也不同。Cirpt希望在体力允许的情况下,拿走尽可能多的金币。他可以选择跳过一些房间,但一旦跳过,就不能回头。

题目描述

给定 N 个房间,每个房间有两个值:打败怪兽需要的体力 cost 和 获得的金币 value。Cirpt初始体力为 H。他必须按顺序经过房间,每到一个房间,可以选择打或不打。打则需要消耗体力并获得金币,不打则直接跳过。问在不超过体力的前提下,最多能获得多少金币。

输入格式

第一行两个整数 N 和 H 接下来 N 行,每行两个整数 cost 和 value

输出格式

一个整数,表示最多能获得的金币数量。

样例

5 10
3 5
4 6
2 3
5 8
1 2
15