Cod sursa(job #1768057)

Utilizator VasilescuVasilescu Eliza Vasilescu Data 30 septembrie 2016 09:19:48
Problema Problema rucsacului Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.54 kb
#include <stdio.h>

int v[10000];

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

    int n, g, w, i,j, p, max=0;
    fscanf(fin, "%d%d", &n, &g);
    for(i=1; i<=n; i++){
        fscanf(fin, "%d%d", &w, &p);
        if(p){
        for(j=g-w; j>=0; j--){
            if(v[j]+p>v[j+w] && j+w<=g)
                v[j+w]=v[j]+p;
                if(v[j+w]>max)
                    max=v[j+w];
          }

        }
    }

    fprintf(fout, "%d\n", max);
    return 0;
}