Cod sursa(job #2573207)

Utilizator yo_andrei_2003Murica Andrei yo_andrei_2003 Data 5 martie 2020 16:28:09
Problema Problema rucsacului Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.67 kb
#include <iostream>
#include <cstdio>

using namespace std;
int p[10000];
int main()
{
    int n, a, b, j, g, i, max=0;
    FILE *fin, *fout;
    fin=fopen("rucsac.in" ,"r");
    fout=fopen("rucsac.out" ,"w");
    fscanf(fin, "%d%d" ,&n ,&g);
    for (i=1;i<=g;i++) {
        p[i]=-1;
    }
    for (i=0;i<n;i++) {
        fscanf(fin, "%d%d" ,&a ,&b);
        for (j=g-a;j>=0;j--) {
            if (p[j]!=-1 && p[j]+b>p[j+a]) {
                p[j+a]=p[j]+b;
            }
        }
    }
    for (i=1;i<=g;i++) {
        if (p[i]>max) {
            max=p[i];
        }
    }
    fprintf(fout, "%d" ,max);
    cout << "Hello world!" << endl;
    return 0;
}