View Code of Problem 4041

#include<iostream>
#include<string.h>
using namespace std;
int main(){
	int N,M;
	while(cin>>N>>M){
		int ti[310],vi[310],dp[310];
		memset(dp,0,sizeof(dp));
		for(int i=1;i<=N;i++){
			cin>>ti[i]>>vi[i];
		}
		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