Pagini recente » Cod sursa (job #2771552) | Cod sursa (job #427047) | Cod sursa (job #3243091) | Cod sursa (job #981657) | Cod sursa (job #1028196)
#include <cstdio>
using namespace std;
int g[5001], c[5001], d[2][10001];
int mx(int x, int y)
{
if(x>=y)
return x;
return y;
}
int main()
{
freopen("rucsac.in", "r", stdin);
freopen("rucsac.out", "w", stdout);
int n, gtot, x=1;
scanf("%d%d", &n, >ot);
for(int i=1;i<=n;i++)
scanf("%d%d", &g[i], &c[i]);
for(int i=1;i<=n;i++)
{
for(int j=1;j<=gtot;j++)
{
d[x][j]=d[1-x][j];
if(g[i]<=j)
d[x][j]=mx(d[1-x][j-g[i]]+c[i], d[1-x][j]);
}
x=1-x;
}
printf("%d", d[1-x][gtot]);
return 0;
}