Cod sursa(job #1681565)

Utilizator vlad00Vlad Stoleru vlad00 Data 9 aprilie 2016 16:22:34
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include <iostream>
#include <fstream>

using namespace std;

ifstream f("rucsac.in");
ofstream g("rucsac.out");

int n, G;
int d[10001];

struct obiect {
    int g, p;
};

obiect a[5001];

int main() {
    int i, j, maxim = 0;
    f >> n >> G;

    for (i = 1; i <= n; ++i) {
            f >> a[i].g >> a[i].p;
        }

    for (i = 1; i <= n; ++i)
        for (j = G - a[i].g ; j >= 0; --j) {
                d[j + a[i].g] = max(d[j] + a[i].p , d[j + a[i].g]);

                if (d[j + a[i].g] > maxim)
                    maxim = d[j + a[i].g];
            }

    g << maxim;
    return 0;
}