Cod sursa(job #1732398)

Utilizator AnaRaduAna-Maria Radu AnaRadu Data 21 iulie 2016 16:10:18
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.55 kb
#include <stdio.h>
#define lim 100005
int sum[lim];
int main(){
    FILE *fin,*fout;
    fin=fopen("rucsac.in","r");
    fout=fopen("rucsac.out","w");
    int i,j,n,val,g,p,maxim=0;
    fscanf(fin,"%d%d",&n,&val);
    for(i=1;i<=n;i++){
        fscanf(fin,"%d%d",&g,&p);
        for(j=val-g;j>=0;j--)
            if(sum[j+g]<sum[j]+p){
                sum[j+g]=sum[j]+p;
                if(sum[j+g]>maxim)
                    maxim=sum[j+g];
            }
    }
    fprintf(fout,"%d",maxim);
    fclose(fin);
    fclose(fout);
    return 0;
}