Cod sursa(job #1883656)

Utilizator SaphyrosMarcus Sergiu David Saphyros Data 18 februarie 2017 09:52:35
Problema Problema rucsacului Scor 35
Compilator cpp Status done
Runda Arhiva educationala Marime 0.55 kb
#include <fstream>
#include <algorithm>

using namespace std;

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

int n, g, w[5010], p[5010], d[5010][10010];

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

    fout << d[n][g];
    return 0;
}