题目描述
题目描述
贝西像她的诸多姊妹一样,因为从小理的草地吃了太多美味的草而长出了太多的赘肉。所以小理将她置于一个及其严格的节食计划之中。
她每天不能吃多过 $H$ 公斤的干草。贝西只能吃一整捆干草,当她开始吃一捆干草的之后就再也停不下来了。她有一个完整的 $N$ 捆可以给她当作晚餐的干草的清单。她自然想要尽量吃到更多的干草。很自然地,每捆干草只能被吃一次(即使在列表中相同的重量可能出现 $2$ 次,但是这表示的是两捆干草,其中每捆干草最多只能被吃掉一次)。
给定一个列表表示每捆干草的重量 $S_i$, 求贝西不超过节食的限制的前提下可以吃掉多少干草(注意一旦她开始吃一捆干草就会把那一捆干草全部吃完)。
输入格式
输入共 $N+1$ 行。
第一行有两个由空格隔开的整数 $H$ 和 $N$。
第 $2$ 到第 $N+1$ 行: 第 $i+1$ 行是一个单独的整数,表示第 $i$ 捆干草的重量 $S_i$。
输出格式
一个单独的整数表示贝西在限制范围内最多可以吃多少公斤的干草。
样例输入输出
样例输入
56 4
15
19
20
21
样例输出
56
数据范围
对于 $100%$ 的数据,保证 $1 \le N \le 500,5 \le H \le 45000,1 \le S_i \le H$。
样例解释
对于输入,有四捆草,重量分别是 $15,19,20$ 和 $21$。贝西在 $56$ 公斤的限制范围内想要吃多少就可以吃多少。
对于输出,贝西可以吃 $3$ 捆干草(重量分别为 $15, 20, 21$)。恰好达到她的 $56$ 公斤的限制。
来源/分类
动态规划 01背包 USACO 2009