Cod sursa(job #2757393)

Utilizator ana_madalina_18Radu Ana Madalina ana_madalina_18 Data 5 iunie 2021 10:38:40
Problema Problema rucsacului Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.74 kb
#include <fstream>
#include <cmath>
using namespace std;
int n,g,pmax;
int w[5005],p[5005],dp[2][10005];
int main()
{
    ifstream fin("rucsac.in");
    ofstream fout("rucsac.out");
    fin>>n>>g;
    for(int i=1;i<=n;i++)
    {
        fin>>w[i]>>p[i];
    }
    //dp[i][j]=dp[i][j-w[i]]+p[i];
    int linie_curent,linie_anterior;
    for(int i=1;i<=n;i++)
    {
        linie_curent=i%2;
        linie_anterior=1-linie_curent;
        for(int j=0;j<=g;j++)
        {
            if(j-w[i]>=0)
                dp[linie_curent][j]=max(dp[linie_anterior][j-w[i]]+p[i],dp[linie_anterior][j]);
            else
                dp[linie_curent][j]=dp[linie_anterior][j];
        }
    }
    fout<<dp[linie_curent][g];
    return 0;
}