Cod sursa(job #767332)
Utilizator | Data | 13 iulie 2012 12:18:35 | |
---|---|---|---|
Problema | Problema rucsacului | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.42 kb |
#include<stdio.h>
int cmax[10001],max;
int main ()
{
int n,i,j,gmax,c,gr;
FILE *f=fopen("rucsac.in","r");
FILE *g=fopen("rucsac.out","w");
fscanf(f,"%d %d",&n,&gmax);
for(i=1;i<=n;i++) {
fscanf(f,"%d %d",&c,&gr);
for(j=gmax-c;j>=0;j--)
if(cmax[j+c]<cmax[j]+gr) {
cmax[j+c]=cmax[j]+gr;
if(cmax[j+c]>max)
max=cmax[j+c];
}
}
fclose(f);
fprintf(g,"%d",max);
fclose(g);
return 0;
}