Cod sursa(job #1985293)

Utilizator ioana.jianuIoana Jianu ioana.jianu Data 27 mai 2017 13:38:28
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.65 kb
#include <stdio.h>
#include <iostream>

using namespace std;

int d[10001];
int main(){

    FILE *fin,*fout;
    fin=fopen("rucsac.in","r");
    fout=fopen("rucsac.out","w");

    int n,g,x,y,maxim,i,j;

    fscanf(fin,"%d%d",&n,&g);

    for(j=1;j<=n;j++){
        fscanf(fin,"%d%d",&x,&y);
        for(i=g-x;i>=1;i--)
            if(d[i]!=0)
                if(d[i+x]<d[i]+y)
                    d[i+x]=d[i]+y;
        if(d[x]<y)
            d[x]=y;
    }

    maxim=-1;
    for(i=1;i<=g;i++)
        if(d[i]>maxim)
            maxim=d[i];

    fprintf(fout,"%d",maxim);
    fclose(fin);
    fclose(fout);
    return 0;
}