Cod sursa(job #2138139)

Utilizator adiaioanaAdia R. adiaioana Data 21 februarie 2018 13:27:41
Problema Problema rucsacului Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.48 kb
#include <iostream>
#define NM 5005
using namespace std;
int n,gmax,a[NM],v[NM],vmax[NM][10005];
int main()
{
    cin>>n>>gmax;
    for(int i=1;i<=n;i++)
    {
        cin>>a[i]>>v[i];
    }
    for(int i=1;i<=n;i++)
    {
        for(int g=1;g<=gmax;g++)
        {
            vmax[i][g]=vmax[i-1][g];
            if(a[i]<=g&&v[i]+vmax[i-1][g-a[i]]>vmax[i][g])
                vmax[i][g]=v[i]+vmax[i-1][g-a[i]];
        }
    }
    cout<<vmax[n][gmax];
    return 0;
}