View Code of Problem 4041

#include<bits/stdc++.h>
using namespace std;
int main(){
	int n,m;
	while(cin>>n>>m){
		int ti[n+2],vi[n+2],dp[n+2];
		for(int i=1;i<=n;++i)
		scanf("%d %d",&ti[i],&vi[i]);
		memset(dp,0,sizeof(dp));
 		for(int i=1;i<=n;++i){
			for(int j=m;j>=ti[i];--j)
				dp[j]=max(dp[j],dp[j-ti[i]]+vi[i]);
		}
		cout<<dp[m]<<endl;
	}
}

Double click to view unformatted code.


Back to problem 4041