Cod sursa(job #2209141)

Utilizator unknownpersonBidasca Carina Georgiana unknownperson Data 1 iunie 2018 21:04:12
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.6 kb
#include <bits/stdc++.h>
using namespace std;
ifstream f("rucsac.in");
ofstream g("rucsac.out");
const int  MAXN =5010;
const int  MAXG = 10010;
int N, G, Pmax;
int W[MAXN], P[MAXN];
int D[2][MAXG];

int main()
{
     f>>N>>G;
    for(int i = 1; i <= N; ++i)
        f>>W[i]>>P[i];
    int l=0;
    for(int i = 1; i <= N; ++i, l = 1 - l)
        for(int cw = 0; cw <= G; ++cw)
        {
            D[1-l][cw] = D[l][cw];
             if(W[i] <= cw)
                D[1-l][cw] = max(D[1-l][cw], D[l][cw - W[i]] + P[i]);
        }

    Pmax = D[l][G];
    g<<Pmax;

    return 0;
}