Pagini recente » Cod sursa (job #516672) | Cod sursa (job #277360) | Cod sursa (job #872672) | Cod sursa (job #2573324) | Cod sursa (job #1786436)
#include <cstdio>
#include <algorithm>
#define NMAX 5000
#define NMAX1 10000
using namespace std;
struct{
int g, v;
}ob[NMAX];
int n, gmax, d[NMAX][NMAX1];
void citire()
{
scanf("%d %d\n", &n, &gmax);
for(int i=1;i<=n;i++)
scanf("%d %d\n", &ob[i].g, &ob[i].v);
}
void generare()
{
for(int i=1;i<=n;i++)
for(int j=0;j<=gmax;j++)
if(i<=ob[j].g)
d[i][j]=d[i-1][j];
else
d[i][j]=max(d[i-1][j],d[i-1][j-ob[j].g]+ob[i].v);
printf("%d ", d[n][gmax]);
}
int main()
{
freopen("rucsac.in","r",stdin);
freopen("rucsac.out","w",stdout);
citire();
generare();
return 0;
}