Cod sursa(job #2110548)

Utilizator Laura_CorneiLaura Maria Cornei Laura_Cornei Data 20 ianuarie 2018 20:43:48
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include <fstream>
#include <vector>
#define gmax 10005
#define nmax 5005
using namespace std;
fstream f1("rucsac.in", ios::in);
fstream f2("rucsac.out", ios::out);
int G, n, pmax[2][gmax], gr[nmax], p[nmax], res;
int main()
{
    int i, g;
    f1>>n>>G;
    for(i=1; i<=n; i++)
        f1>>gr[i]>>p[i];
    for(i=1; i<=n; i++)
        for(g=1; g<=G; g++)
    {
        pmax[i%2][g]=pmax[1-i%2][g];
        if(gr[i]<= g)
            pmax[i%2][g]=max(pmax[i%2][g], pmax[1-i%2][g-gr[i]]+p[i]);
        if(pmax[i%2][g]> res) res=pmax[i%2][g];
    }
    f2<<res;
    return 0;
}