Cod sursa(job #1769316)

Utilizator LizaSzabo Liza Liza Data 2 octombrie 2016 13:13:37
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include <iostream>
#include <fstream>

using namespace std;
 ifstream f1("rucsac.in");
 ofstream f2("rucsac.out");


 int DP[2][10005],p[5005],w[5005],i,j,n,g;


 int main()
{
    f1>>n>>g;
    for(i=1;i<=n;++i){
        f1>>w[i]>>p[i];
    }

    for(i=1;i<=n;++i){
        for(j=1;j<=g;++j){
            DP[1][j]=DP[0][j];
            if(j-w[i]>=0){
               DP[1][j]=max(DP[0][j],DP[0][j-w[i]]+p[i]);
            }
        }
        for(j=1;j<=g;++j){
            DP[0][j]=DP[1][j];
        }
    }
  f2<<DP[0][g]<<'\n';

    return 0;
}