Pagini recente » Cod sursa (job #2471846) | Cod sursa (job #54900) | Cod sursa (job #789417) | Cod sursa (job #2047233) | Cod sursa (job #1774620)
#include <stdio.h>
#include <stdlib.h>
FILE *in,*out;
int r[10001],w[5001],p[5001];
int main()
{
in = fopen("rucsac.in","r");
out = fopen("rucsac.out","w");
int n,g,i,j,max = 0;
fscanf(in,"%d %d\n",&n,&g);
for(i = 1; i <= n; i ++)
fscanf(in,"%d %d\n",&w[i],&p[i]);
r[0] = 1;
for(i = 1; i <= n; i ++)
{
for(j = max; j >= 0; j --)
{
if(r[j] != 0 && r[j] <= g)
{
r[p[i] + j] = r[j] + w[i];
if(p[i] + j > max)
max = p[i] + j;
}
}
}
fprintf(out,"%d\n",max);
return 0;
}