#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<vector>
using namespace std;
int main(){
int n,w;
cin>>n>>w;
int we[1001],v[1001];
for(int i=0;i<n;i++){
cin>>we[i]>>v[i];
}
int f[10001]={0};
for(int i=0;i<n;i++){
for(int j=w;j>=we[i];j--){
f[j]=max(f[j],f[j-we[i]]+v[i]);
}
}
cout<<f[w];
return 0;
}
51Nod 1085 背包问题(01)
最新推荐文章于 2018-01-02 20:56:54 发布