Cod sursa(job #2542345)

Utilizator Iulia_DianaIulia Diana Iulia_Diana Data 9 februarie 2020 20:31:04
Problema Problema rucsacului Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.7 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
int dp[3][10005], n, g, i, gg, pp, j;
int main()
{
    fin >> n >> g;
    for(i=1; i<=n; i++)
    {
        fin >> gg >> pp;
        if(i%2==1)
            for(j=1; j<=g; j++)
            {
               if(j-gg>=0) dp[1][j]=max(dp[2][j], dp[2][j-gg]+pp);
               else dp[1][j]=dp[2][j];
            }
        else
             for(j=1; j<=g; j++)
            {
               if(j-gg>=0) dp[2][j]=max(dp[1][j], dp[1][j-gg]+pp);
               else dp[2][j]=dp[1][j];
            }
    }
    if(n%2==0)  fout <<  dp[2][g];
    else   fout << dp[1][g];
    return 0;
}