Cod sursa(job #2824734)

Utilizator Y.MalmsteenB.P.M. Y.Malmsteen Data 3 ianuarie 2022 09:38:37
Problema Problema rucsacului Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.73 kb
#include <iostream>
#include <fstream>

using namespace std;
const int NMAX = 5000,
          GMAX = 10000;

int W[NMAX + 1], P[NMAX + 1],
    D[GMAX + 1];

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

int main()
{
    int N, G, Pmax = 0, i;
    f >> N >> G;
    for(i = 1; i <= N; ++i)
        f >> W[i] >> P[i];
    //
    ///D[0] = 0;
    for(i = 1; i <= N; ++i)
        for(int g = G - W[i]; g >= 0; --g)
        {
            int cw = g + W[i],
                cp = D[g] + P[i];
            if(D[cw] < cp)
            {
                D[cw] = cp;
                if(cp > Pmax)
                    Pmax = cp;
            }
        }
    g << Pmax;
    f.close();
    g.close();
    return 0;
}