Cod sursa(job #2044508)

Utilizator skeniaTirla Ovidiu skenia Data 21 octombrie 2017 10:44:35
Problema Problema rucsacului Scor 35
Compilator cpp Status done
Runda Arhiva educationala Marime 0.77 kb
#include <iostream>
#include <fstream>

using namespace std;

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

int matrix[5005][10005];
int g[10005], p[10005];
int length, gMax;

int main() {
    fin >> length >> gMax;
    for (int iter = 1; iter <= length; ++iter) {
        fin >> g[iter] >> p[iter];
    }

    for (int l = 1; l <= length; ++l) {
        for (int c = 1; c <= gMax; ++c) {
            matrix[l][c] = matrix[l - 1][c];
            if(g[l] <= c)
                matrix[l][c] = max(matrix[l - 1][c], matrix[l - 1][c - g[l]] + p[l]);
        }
    }
//    for (int l = 1; l <= length; ++l) {
//        for (int c = 1; c <= gMax; ++c) {
//            fout<<matrix[l][c]<<'\t';
//        }
//        fout<<'\n';
//    }

    fout << matrix[length][gMax];

    return 0;
}