Cod sursa(job #2426982)

Utilizator melutMelut Zaid melut Data 30 mai 2019 12:09:54
Problema Problema rucsacului Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.76 kb
#include <fstream>
#include <string>
#include <vector>

using namespace std;


string const inFile = "rucsac.in";
string const outFile = "rucsac.out";

ifstream Read(inFile);
ofstream Write(outFile);


int main() {
    unsigned n;
    unsigned G;

    Read >> n;
    Read >> G;

    vector<vector<unsigned>> lines(2, vector<unsigned>(G + 1, 0));
    bool _switch = true;
    unsigned weight;
    unsigned value;
    unsigned i, j;

    for (i = 0; i < n; ++i) {
        Read >> weight;
        Read >> value;

        for (j = weight; j <= G; ++j) {
            lines[_switch][j] = max(lines[!_switch][j], lines[!_switch][j - weight] + value);
        }

        _switch = !_switch;
    }

    Write << lines[!_switch][G];

    return 0;
}