题目描述
Description
CYD吃饭时有N个骨头可以啃,但CYD要午睡了,所以他只有M分钟吃饭,已知啃每个骨头需花费时间Ai,可以得到Bi个单位的营养。问CYD最多得到多少营养。
数据范围及提示
Data Size & Hint
对于100%的数据 N≤100 M≤1000 Ai,Bi≤100
1 #include <algorithm>
2 #include <cstdio>
3
4 using namespace std;
5
6 int n,m;
7 int t[105],val[105];
8 int f[10015];
9
10 int main()
11 {
12 scanf("%d%d",&m,&n);
13 for(int i=1;i<=n;i++)
14 scanf("%d%d",&t[i],&val[i]);
15 for(int i=1;i<=n;i++)
16 for(int j=m;j>=t[i];j--)
17 f[j]=max(f[j],f[j-t[i]]+val[i]);
18 printf("%d",f[m]);
19 return 0;
20 }
转载于:https://www.cnblogs.com/Shy-key/p/6735833.html