Cod sursa(job #2110535)

Utilizator marcogoldPop Mihali Marco Silviu marcogold Data 20 ianuarie 2018 20:22:13
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include <iostream>
#include <fstream>
using namespace std;


ifstream fi("rucsac.in");
ofstream fo("rucsac.out");


int  dp[10010],n,g,greutate,profit,maxim=-1,k;

///i -greutate
///dp[i] profit

int main()
{
    fi>>n>>g;

    for(int i=1; i<=n; i++)
    {

        fi>>greutate>>profit;

        for(int j=g-greutate; j>0; j--)
        {
            if(dp[j]!=0)
            {

                dp[j+greutate]=max(dp[j+greutate],dp[j]+profit);
            }
        }
      dp[greutate]=max(dp[greutate],profit);


    }



    for(int x=1; x<=g; x++)
    {
        if(maxim<dp[x])
        maxim=dp[x];


    }


 fo<<maxim;

    return 0;
}