Cod sursa(job #1773265)

Utilizator atimofteTimofte Alexandra atimofte Data 7 octombrie 2016 18:16:45
Problema Problema rucsacului Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.53 kb
#include <stdio.h>
#include <stdlib.h>
inline int max(a,b){
    if(a<b) return b;
    else return a;
}
int g[5000],p[5000],v[10001];
int main()
{
    FILE*fin,*fout;
    int N,G,i,gr;
    fin=fopen("rucsac.in","r");
    fscanf(fin,"%d%d",&N,&G);
    for(i=0;i<N;i++){
        fscanf(fin,"%d%d",&g[i],&p[i]);
    }
    for(i=0;i<N;i++)
        for(gr=G;gr>=g[i];gr--)
                v[gr]=max(v[gr],v[gr-g[i]]+p[i]);
    fout=fopen("rucsac.out","w");
    fprintf(fout,"%d\n",v[G]);
    fclose(fout);
    return 0;
}