Untitled

 avatar
unknown
c_cpp
9 months ago
523 B
12
Indexable
#include<bits/stdc++.h>
using namespace std;

const int maxn = 100 + 5, maxw = 1e5 + 5;
long long dp[maxn][maxw], wei[maxn], val[maxn];

int main(){
	int n, w;
	cin >> n >> w;
	for(int i = 1; i <= n; i++){
		cin >> wei[i] >> val[i];
	}
	
	for(int i = 1; i <= n; i++){
		for(int j = 0; j <= w; j++){
			if(j - wei[i] >= 0){
				dp[i][j] = max(dp[i - 1][j - wei[i]] + val[i], dp[i - 1][j]);
			}
			else{
				dp[i][j] = dp[i - 1][j];
			}
			//cout << dp[i][j] << '\n';
		}
	}
	
	cout << dp[n][w];
}
Editor is loading...
Leave a Comment