Pagini recente » Cod sursa (job #2359651) | Cod sursa (job #1709609) | Cod sursa (job #2506849) | Cod sursa (job #1074374) | Cod sursa (job #1127343)
#include <cstdio>
int n, g, optim[10100], w[5010], p[5010];
void citire()
{
int i;
scanf("%d%d", &n, &g);
for(i=1;i<=n;++i)
scanf("%d%d", &w[i], &p[i]);
}
void rezolva_problema()
{
citire();
int i, j;
optim[0]=0;
int sol=0;
for(i=1;i<=n;++i)
for(j=g-w[i];j>=0;--j)
if(optim[j+w[i]]<optim[j]+p[i])
{
optim[j+w[i]]=optim[j]+p[i];
if(optim[j+w[i]]>sol)
sol=optim[j+w[i]];
}
printf("%d\n", sol);
}
int main()
{
freopen("rucsac.in", "r", stdin);
freopen("rucsac.out", "w", stdout);
rezolva_problema();
return 0;
}