Cod sursa(job #3364610)

Utilizator oliviamMarin Olivia oliviam Data 7 septembrie 2026 20:06:59
Problema Problema rucsacului Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.61 kb
#include <fstream>

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

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

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

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