Cod sursa(job #2024327)

Utilizator Laura_CorneiLaura Maria Cornei Laura_Cornei Data 20 septembrie 2017 13:13:09
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include <fstream>
#define nmax 5005
#define gm 10005
using namespace std;
fstream f1("rucsac.in", ios::in);
fstream f2("rucsac.out", ios::out);
int n, gmax, gr[nmax], p[nmax], pmax[gm], rez;
void citire()
{
    int i;
    f1>>n>>gmax;
    for(i=1; i<=n; i++)
        f1>>gr[i]>>p[i];
}
void rucsac()
{
    int i, g;
    for(i=1; i<=n; i++)
        for(g=gmax; g>=gr[i]; g--)
            if(pmax[g]< pmax[g-gr[i]]+p[i])
               {
                   pmax[g]=pmax[g-gr[i]]+p[i];
                   if(rez< pmax[g]) rez=pmax[g];
               }
    f2<<rez;
}
int main()
{
    citire();
    rucsac();
    return 0;
}