Cod sursa(job #1947698)

Utilizator raul044Moldovan Raul raul044 Data 31 martie 2017 10:39:44
Problema Problema rucsacului Scor 35
Compilator cpp Status done
Runda Arhiva educationala Marime 0.72 kb
#include <fstream>

using namespace std;

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

int n, G, D[5001][10001];

struct obiect {
    int val, greu;
}v[5001];

int main () {
    fin >> n >> G;
    for (int i = 1; i <= n; i++)
        fin >> v[i].greu >> v[i].val;
    for (int i = 1; i <= n; i++) {
        for (int j = 1; j <= G; j++) {
            D[i][j] = D[i-1][j];
            if (v[i].greu <= j) {
                D[i][j] = max(D[i][j], D[i-1][j - v[i].greu] + v[i].val);
            }
        }
    }
    /*for (int i = 1; i <= n; i++) {
        for (int j = 1; j <= G; j++) {
            fout << D[i][j] << " ";
        }
        fout << '\n';
    }*/
    fout << D[n][G];
}