Cod sursa(job #1978237)

Utilizator CriistinaMicula Cristina Criistina Data 7 mai 2017 10:47:32
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#include <iostream>
#include <fstream>
#define Nmax 5001
#define Gmax 10001

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

int n, G, w[Nmax], p[Nmax],sol, pr[2][Gmax],l;

int main()
{
    f>>n>>G;
    for(int i=1;i<=n;i++)
    {
        f>>w[i]>>p[i];
    }
    for(int i=1;i<=n;i++)
    {
        for(int k=0;k<=G;k++)
        {
            if(k>=w[i])
                pr[i%2][k]=max(pr[1-i%2][k],pr[1-i%2][k-w[i]]+p[i]);
            else pr[i%2][k]=pr[1-i%2][k];
            sol=max(sol, pr[i%2][k]);
        }
    }
    g<<sol;
}