Cod sursa(job #2044546)

Utilizator AdiMunteanAdrian Muntean AdiMuntean Data 21 octombrie 2017 11:01:04
Problema Problema rucsacului Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 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;

    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++)
        {
            rucsac[i][j]=rucsac[i-1][j];
            if(gr[i]<=j)
                rucsac[i][j]=max(rucsac[i-1][j],rucsac[i-1][j-gr[i]]+pr[i]);
        }

    int r=INT_MIN;
    for(int i=1; i<=cap_max; i++)
        r=max(rucsac[nr_ob][i],r);

    g<<r;

    return 0;

}