Cod sursa(job #2510054)

Utilizator radugheoRadu Mihai Gheorghe radugheo Data 15 decembrie 2019 17:49:00
Problema Problema rucsacului Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.63 kb
#include <bits/stdc++.h>

using namespace std;

ifstream fin  ("rucsac.in");
ofstream fout ("rucsac.out");

int n, g, i, j, sol;
int greutate[5005], profit[5005], d[10005];

int main(){
    fin >> n >> g;
    for (i=1; i<=n; i++){
        fin >> greutate[i] >> profit[i];
    }
    d[0] = 1;
    for (i=1; i<=n; i++){
        for (j=g; j>=0; j--){
            if (j + greutate[i] <= g && d[j] != 0){
                d[j + greutate[i]] = max (d[j + greutate[i]], d[j] + profit[i]);
            }
        }
    }
    for (i=1; i<=g; i++){
        sol = max (sol, d[i]);
    }
    fout << sol - 1;
    return 0;
}