Cod sursa(job #2286364)

Utilizator DascaluAndreiDascalu Andrei DascaluAndrei Data 20 noiembrie 2018 10:23:18
Problema Problema rucsacului Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.53 kb
#include <fstream>
#define DIMN 5005
#define DIMG 10005

using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");

int n, G;
int g[DIMN], c[DIMN], cmax[DIMG];

void citire()
{
    int i;
    fin>>n>>G;
    for(i=1;i<=n;++i)
        fin>>g[i]>>c[i];
}
void pd()
{
    int i, x;
    for(i=1;i<=n;++i)
        for(x=G; x>=1;--x)
        if(cmax[x]<c[i]+cmax[x-g[i]] && x>=G)
            cmax[x]=c[i]+cmax[x-g[i]];
}
int main()
{
    citire();
    pd();
    fout<<cmax[G]<<'\n';
    return 0;
}