Cod sursa(job #2724211)

Utilizator Victor2006Nicola Victor-Teodor Victor2006 Data 16 martie 2021 18:45:04
Problema Problema rucsacului Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.57 kb
#include <fstream>
#define GMAX 10000

using namespace std;

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

int linii[2][GMAX + 1];
int point;

int max( int a, int b ) {
    return ( a > b ) ? a : b;
}

int main() {
    int n, g, w, p;
    fin >> n >> g;
    point = 1;
    for ( int i = 1; i <= n; i ++ ) {
        fin >> w >> p;
        for ( int k = w; k <= g; k ++ )
            linii[point][k] = max( linii[1 - point][k], linii[1 - point][k - w] + p );
        point = 1 - point;
    }
    fout << linii[1 - point][g] << "\n";
    return 0;
}