Pagini recente » Cod sursa (job #1389554) | Rating stefan Neacsu (cutu12) | Cod sursa (job #2751484) | Cod sursa (job #2701974) | Cod sursa (job #3141575)
//https://infoarena.ro/problema/rucsac
#include <bits/stdc++.h>
using namespace std;
int n,k;
int u = 0;
int main(){
ifstream cin("rucsac.in");
ofstream cout("rucsac.out");
cin >> k >> n;
int G[n+1], C[n+1], D[2][n+1];
for(int i=1; i<=k; i++){
cin >> G[i] >> C[i];
}
for(int i=0; i<=n; i++){
D[!u][i] = 0;
}
for(int i=1; i<=k; i++, u = !u){
for(int j=1; j<=n; j++){
if(j - G[i] >= 0){
D[u][j] = max(D[!u][j - G[i]] + C[i], D[!u][j]);
// cout << D[i][j] << ' ';
} else {
D[u][j] = D[!u][j];
// cout << D[i][j] << ' ';
}
}
// cout << endl;
}
cout << D[!u][n];
}