Pagini recente » Cod sursa (job #2875214) | Cod sursa (job #2988519) | Cod sursa (job #328676) | Cod sursa (job #1936857) | Cod sursa (job #3219367)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
int n, i, j, gr[5002], pr[5002];
int a[2][10002], g;
int main() {
fin >> n >> g;
for(i = 1; i <= n; i++) fin >> gr[i] >> pr[i];
for(i = 1; i <= n; i++) {
int p2 = (i & 1);
int p1 = ((i - 1) & 1);
for(j = 1; j <= g; j++) {
a[p2][j] = a[p1][j];
if(gr[i] <= j) a[p2][j] = max(a[p2][j], pr[i] + a[p1][j - gr[i]]);
}
}
fout << a[n & 1][g];
return 0;
}