2399: [C++一本通-动态规划]5.竞赛总分

Memory Limit:128 MB Time Limit:1 S
Judge Style:Text Compare Creator:
Submit:232 Solved:141

Description

学生在我们USACO的竞赛中的得分越多我们越高兴。我们试着设计我们的竞赛以便人们能尽可能多得分。现在要进行一次竞赛,总时间T固定,有若干类型课选择的题目,每种类型的题目可选择的数量不限,每种类型题目有一个si(解答此题所得的分数)和ti(解答此题所需要的时间),现要选择若干题目,使得这些题的总时间在T以内的前提下,所得的总分最大。

输入包括竞赛的时间M(1<=M<=10000)和题目类型数目N(1<=N<=10000)。 后面的每一行将包括两个整数描述一种“题型”

第一个整数说明解决这种题目能得的分数(1<=points<=10000),第二个整数说明解决这种题目所需的时间(1<=minutes<=10000)。

Input

第1行:两个整数:竞赛的时间M和题目类型数目N。第2至N+1行:两个整数:每种类型题目的分数和耗时。

Output

单独的一行,在给定时间里得到的最大的分数。

Sample Input Copy

300 4
100 60
250 120 
120 100
35 20

Sample Output Copy

605

HINT

加入题单

算法标签: