总分
测试数据来自 system/1595
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
时间限制:1秒 内存限制:256M
【问题描述】
学生在NOIP的竞赛中的得分越多我们越高兴。我们试着设计我们的竞赛以便学生们能尽可能的多得分,这需要你的帮助。
我们可以从几个种类中选取竞赛的题目,这里的一个“种类”是指一个竞赛题目的集合,解决集合中的题目需要相同的时间并且能得到相同的分数。你的任务是写一个程序来告诉NOIP的职员,应该从每一个种类中选取多少题目,使得解决题目的总耗时在竞赛规定的时间里并且总分最大。
现在给出竞赛的时间 \(M\) 和题目种类数 \(N\),以及每种题目能得的分数和解决这种题目所需的时间。你的程序应该确定我们应该从每个"种类"中选多少道题目使得能在竞赛的时间中得到最大的分数。
来自任意的"种类"的题目数目可能是任何非负数(0或更多)。
【输入格式】
第一行: \(M,N\)。
之后的 \(N\) 行,每行两个整数,分别表示每个"种类"题目的分数和耗时。
【输出格式】
单独的一行包括那个在给定的限制里可能得到的最大的分数。
【输入输出样例】
Input
310 4
100 60
250 120
120 100
35 20
Output
605
【样例解释】
选取 2 道分数是 250 分的题,耗时 240 分钟,再选取 3 道分数是 35 的题,耗时 60 分钟,这样总时间是 300 分钟,没有超过时间限制 310 分钟,总分数 250+250+35+35+35 = 605分。
【数据说明】
对于 \(100\%\) 的数据 \(1≤N,M≤10000\),每种题目的分数在1~10000范围内;解答所需时间在1~10000范围内。
【来源】
Mr.he