Cod sursa(job #2138144)

Utilizator adiaioanaAdia R. adiaioana Data 21 februarie 2018 13:29:35
Problema Problema rucsacului Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.55 kb
#include <fstream>
#define NM 5005
using namespace std;
ifstream cin("rucsac.in");
ofstream cout("rucsac.out");
unsigned short 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;
}