Cod sursa(job #1896800)

Utilizator ionicaion ionica Data 28 februarie 2017 22:01:31
Problema Problema rucsacului Scor 35
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include <fstream>
#define nm1  5001
#define nm2 10001
using namespace std;
int  a[nm1], v[nm1], cmax[nm1][nm2], n, gmax;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
int main()
{
    fin>>n>>gmax;
    for(int i=1; i<=n; i++)
        fin>>a[i]>>v[i];

    for (int i=1;i<=n;++i)
        for (int g=1;g<=gmax;g++)
            {
                cmax[i][g]=cmax[i-1][g];
                if (a[i]<=g &&
                    cmax[i][g]<cmax[i-1][g-a[i]]+v[i])
                    cmax[i][g]=cmax[i-1][g-a[i]]+v[i];
            }

    fout<<cmax[n][gmax];

    return 0;
}