Cod sursa(job #1781671)

Utilizator NinjaCubeMihai Radovici NinjaCube Data 17 octombrie 2016 10:33:48
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala 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);
}