Cod sursa(job #2691091)

Utilizator Fantastic_Mantudor voicu Fantastic_Man Data 26 decembrie 2020 23:47:36
Problema Problema rucsacului Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.62 kb
#include <fstream>
using namespace std;
const int NMAX = (5e3);
const int SMAX = (1e4);
struct ura {
    int g, p;
} v[NMAX + 1];
int f[SMAX + 1];
ifstream fin ( "rucsac.in" );
ofstream fout ( "rucsac.out" );
int main() {
    int n, i, j, S, maxy;
    fin >> n >> S;
    for ( i = 1; i <= n; i++ )
        fin >> v[i].g >> v[i].p;
    maxy = 0;
    for ( i = 1; i <= n; i++ )
        for ( j = S - v[i].g; j >= 0; j-- )
            if ( f[j] + v[i].p > f[j + v[i].g] ) {
                f[j + v[i].g] = f[j] + v[i].p;
                maxy = f[j + v[i].g] > maxy? f[j + v[i].g]: maxy;
            }
    fout << maxy;

    return 0;
}