Pagini recente » Cod sursa (job #429601) | Cod sursa (job #1141474) | Cod sursa (job #1463169) | Cod sursa (job #2460451) | Cod sursa (job #3149720)
#include <bits/stdc++.h>
#define DIM 50001
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
struct elem{
int weight, profit;
};
elem v[DIM];
int curr[DIM], last[DIM];
int n, i, j, G;
int32_t main(void){
fin >> n >> G;
for(i=1;i<=n;i++)
fin >> v[i].weight >> v[i].profit;
for(i=1;i<=n;i++){
for(j=0;j<=G;j++){
curr[j] = last[j];
if(v[i].weight <= j)
curr[j] = max(curr[j], last[j - v[i].weight] + v[i].profit);
}
for(j=0;j<=G;j++)
last[j] = curr[j];
}
fout << curr[G];
}