Cod sursa(job #683435)

Utilizator AplayLazar Laurentiu Aplay Data 20 februarie 2012 17:34:25
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.6 kb
#include<stdio.h>
typedef struct { int g,v;}RUCSAC;
RUCSAC v[5010];
int n,G,f[10100];

void citire()
{
    FILE *f=fopen("rucsac.in","r");
    fscanf(f,"%d%d",&n,&G);
    for(int i=1;i<=n;++i)
        fscanf(f,"%d%d",&v[i].g,&v[i].v);
    fclose(f);
}

int rezolvare()
{
    int i,j;
    for(i=1;i<=n;++i)
        for(j=G;j>=v[i].g;--j)
            if(f[j] < f[j - v[i].g] + v[i].v)
                f[j] = f[j - v[i].g] + v[i].v;

    return f[G];

}

int main()
{
    citire();
    FILE *f=fopen("rucsac.out","w");
    fprintf(f,"%d",rezolvare());
    fclose(f);
    return 0;
}