Nu aveti permisiuni pentru a descarca fisierul grader_test14.in

Cod sursa(job #2570192)

Utilizator cyg_Alex_codegicianBarbu Alexandru cyg_Alex_codegician Data 4 martie 2020 15:30:43
Problema Problema rucsacului Scor 100
Compilator cpp-64 Status done
Runda r3capitusulare Marime 0.65 kb
#include <fstream>
using namespace std;
ifstream fin ("rucsac.in");
ofstream fout ("rucsac.out");
const int nmax=5005;
int main()
{
    int n,g,w[nmax],v[nmax],dp[3][2*nmax];
    fin >> n >> g;
    for (int i=1;i<=n;i++)
    {
        fin >> w[i] >> v[i];
    }
    for (int i=0;i<=g;i++)
    {
        if (i>=w[1]) dp[1][i]=v[1];
        else dp[1][i]=0;
    }
    for (int i=2;i<=n;i++)
    {
        for (int j=0;j<=g;j++)
        {
            if (j>=w[i]) dp[2][j]=max(dp[1][j],dp[1][j-w[i]]+v[i]);
            else dp[2][j]=dp[1][j];
        }
        for (int j=0;j<=g;j++)
        {
            dp[1][j]=dp[2][j];
        }
    }
    fout << dp[2][g];
}