Cod sursa(job #2442238)

Utilizator bogdan_modoleaBogdan Modolea bogdan_modolea Data 23 iulie 2019 13:44:05
Problema Problema rucsacului Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.62 kb
#include <bits/stdc++.h>
#define NMAX 5001
#define GMAX 10001
using namespace std;

string file="rucsac";

ifstream fin(file+".in");
ofstream fout(file+".out");

int n,gmax;
int v[NMAX],g[NMAX];
int sol[2][GMAX];

int main()
{
    int i,j,l=0;
    fin>>n>>gmax;
    for(i=1;i<=n;i++)
    {
        fin>>g[i]>>v[i];
    }
    for(i=1;i<=n;i++,l=1-l)
    {
        for(j=0;j<=gmax;j++)
        {
            sol[1-l][j]=sol[l][j];
            if(g[i]<=j)
            {
                sol[1-l][j]=max(sol[1-l][j],sol[l][j-g[i]]+v[i]);
            }
        }
    }
    fout<<sol[l][gmax];
    return 0;
}