Cod sursa(job #1061759)

Utilizator sddddgjdZloteanu Anastasia sddddgjd Data 20 decembrie 2013 11:37:15
Problema Problema rucsacului Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.61 kb
#include<stdio.h>
int g[5000],pret[5000],max[10000];
int main()
{
    FILE *fin,*fout;
    fin=fopen("rucsac.in","r");
    fout=fopen("rucsac.out","w");
    int n,G;
    fscanf(fin,"%d%d",&n,&G);
    int i;
    for(i=0;i<n;i++)
        fscanf(fin,"%d%d",&g[i],&pret[i]);
    max[0]=0;
    int j;
    int maxf=0;
    for(i=0;i<n;i++)
        for(j=G-g[i];j>=0;j--)
            if(max[j+g[i]]<max[j]+pret[i])
            {
                max[j+g[i]]=max[j]+pret[i];
                if(max[j+g[i]]>maxf)
                    maxf=max[j+g[i]];
            }
    fprintf(fout,"%d",maxf);
    return 0;
}