Cod sursa(job #2862740)

Utilizator mihaistamatescuMihai Stamatescu mihaistamatescu Data 5 martie 2022 19:41:27
Problema Problema rucsacului Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.57 kb
#include <fstream>

using namespace std;

struct obiect {
    int p, g;
};

obiect v[5010];
int n, g, sol, crt;
int D[2][10010];

int main() {
    ifstream fin("rucsac.in");
    ofstream fout("rucsac.out");
    fin >> n >> g;
    for (int i = 1; i <= n; i++) {
        fin >> v[i].g >> v[i].p;
    }
    crt = 1;
    for (int i = 1; i <= n; i++) {
        for (int j = g; j >= v[i].g; j--) {
            D[crt][j] = max(D[1 - crt][j], D[1 - crt][j - v[i].g] + v[i].p);
            sol = max(D[crt][j], sol);
        }
        crt = 1 - crt;
    }
    fout << sol;
    return 0;
}