Cod sursa(job #2409211)

Utilizator AndoneAlexandruAndone Alexandru AndoneAlexandru Data 18 aprilie 2019 19:50:05
Problema Problema rucsacului Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.54 kb

#include <fstream>
using namespace std;

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

int n, g, m;
int d[10001];

struct elem{
    int w, p;
}a[5001];


int main() {
    ios::sync_with_stdio(false);
    in >> n >> g;

    for (int i = 0; i < n; ++i)
        in >> a[i].w >> a[i].p;

    d[a[0].w] = a[0].p;

    for (int i = 1; i < n; ++i)
        for (int j = g; j >= a[i].w; --j) {
            d[j] = max(d[j], d[j-a[i].w] + a[i].p);
            m = max(d[j], m);
        }


    out << m;
    return 0;
}