Cod sursa(job #2044628)

Utilizator AdiMunteanAdrian Muntean AdiMuntean Data 21 octombrie 2017 11:29:54
Problema Problema rucsacului Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.73 kb
#include <bits/stdc++.h>

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

int gr[1005],pr[1005];
int rucsac[1005][1005];

int main()
{
    int nr_ob,cap_max,i,j,linie_actuala;

    f>>nr_ob>>cap_max;
    for(int i=1; i<=nr_ob; i++)
        f>>gr[i]>>pr[i];


    for(i=1; i<=nr_ob; i++)
        for(j=1; j<=cap_max; j++)
        {
            linie_actuala=i%2;
            rucsac[linie_actuala][j]=rucsac[1-linie_actuala][j];
            if(gr[i]<=j)
                rucsac[linie_actuala][j]=max(rucsac[1-linie_actuala][j],rucsac[1-linie_actuala][j-gr[i]]+pr[i]);
        }

    if(nr_ob%2==0)
        g<<rucsac[0][cap_max];
    else
        g<<rucsac[1][cap_max];

    return 0;

}