Cod sursa(job #1783468)

Utilizator PinkiePie1189Preoteasa Mircea-Costin PinkiePie1189 Data 19 octombrie 2016 00:32:01
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda cerculdeinfo-lectia3-programaredinamica1 Marime 0.69 kb
#include<stdio.h>
#define MAXN 5001
#define MAXG 10001
 
int Greutate,Profite;
int Best[MAXG];
int main()
{
    FILE*fin=fopen("rucsac.in","r");
    FILE*fout=fopen("rucsac.out","w");
    int N,G;
    fscanf(fin,"%d%d",&N,&G);
    for(int i=1; i<=N; i++)
    {
        int g,p;
        fscanf(fin,"%d%d",&Greutate,&Profite);
        for(int k=G-Greutate; k>=0; k--)
        {
            if(Best[k]+Profite>Best[k+Greutate])
            {
                Best[k+Greutate]=Best[k]+Profite;
            }
        }
 
    }
    int ans=0;
    for(int i=0; i<=G; i++)
    {
        if(Best[i]>ans)
        {
            ans=Best[i];
        }
    }
    fprintf(fout,"%d\n",ans);
}