Pagini recente » Cod sursa (job #19710) | Cod sursa (job #537156) | Cod sursa (job #3159911) | Cod sursa (job #894011) | Cod sursa (job #1786453)
#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++)
{
d[i][j]=d[i-1][j];
if(ob[i].g<=j)
d[i][j]=max(d[i][j],d[i-1][j-ob[i].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;
}