Pagini recente » Cod sursa (job #2044245) | Istoria paginii runda/runda2-uoc | Cod sursa (job #663418) | Cod sursa (job #3187560) | Cod sursa (job #3141573)
//https://infoarena.ro/problema/rucsac
#include <bits/stdc++.h>
using namespace std;
int n,k;
int main(){
ifstream cin("rucsac.in");
ofstream cout("rucsac.out");
cin >> k >> n;
int G[n+1], C[n+1], D[k+1][n+1];
for(int i=1; i<=k; i++){
cin >> G[i] >> C[i];
}
for(int i=1; i<=k; i++){
D[i][0] = 0;
}
for(int i=1; i<=k; i++){
for(int j=1; j<=n; j++){
int val;
if(j - G[i] >= 0){
D[i][j] = max(D[i-1][j - G[i]] + C[i], D[i-1][j]);
// cout << D[i][j] << ' ';
} else {
D[i][j] = D[i-1][j];
// cout << D[i][j] << ' ';
}
}
// cout << endl;
}
cout << D[k][n];
}