POJ
来源:互联网 发布:有声广告制作软件 编辑:程序博客网 时间:2024/06/05 16:27
典型的01背包
#include<iostream>#include<algorithm>#include<string>#include<cstring>#include<map>#include<queue>#include<cmath>#include<stack>#include<vector>#include<cstdio>#define MAXN 33000#define INF 0x3f3f3f3f#define lmid l,m,rt<<1#define rmid m+1,r,rt<<1|1#define ls rt<<1#define rs rt<<1|1#define Mod 1000000007#define i64 __int64using namespace std;int x[3500],y[3505];int dp[13000];int main(){ int n,m; scanf("%d%d",&n,&m); for(int i=0;i<n;i++) scanf("%d %d",&x[i],&y[i]); for(int i=0;i<n;i++) for(int j=m;j>=x[i];j--) { dp[j]=max(dp[j],dp[j-x[i]]+y[i]); } cout<<dp[m]<<endl; return 0;}