5564 陶陶摘苹果2
时间限制: 1 s 空间限制: 16000 KB 题目等级 : 白银 Silver
题目描述 Description
陶陶已经够高摘到所有苹果了,但是他力量有限,最大承受质量为Q kg,有K个苹果,每个苹果有自己的价值和质量,请你帮陶陶看看怎么摘能够价值最大。
输入描述 Input Description
两个整数Q,K,代表最大承受,苹果的数量。
以下k行,两个整数w,v,代表每个苹果的质量和价值。
输出描述 Output Description
输出一个整数代表最大的收益。
样例输入 Sample Input
10 3
5 20
3 15
8 29
样例输出 Sample Output
35
数据范围及提示 Data Size & Hint
对于100%的数据 Q≤100 K≤1000 V,W≤100
1 #include<iostream> 2 #include<cstring> 3 #include<cstdio> 4 using namespace std; 5 int m,n,w[1005],v[1005],f[105]; 6 int main() 7 { 8 scanf("%d%d",&m,&n); 9 for(int i=1;i<=n;i++) 10 scanf("%d%d",&w[i],&v[i]); 11 for(int i=1;i<=n;i++){ 12 for(int j=m;j>=w[i];j--){ 13 f[j]=max(f[j],f[j-w[i]]+v[i]); 14 } 15 } 16 printf("%d",f[m]); 17 return 0; 18 }