Cod sursa(job #2363653)

Utilizator marcogoldPop Mihali Marco Silviu marcogold Data 3 martie 2019 14:38:30
Problema Problema rucsacului Scor 65
Compilator cpp-64 Status done
Runda pregatire_cls12_oji Marime 0.66 kb
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;

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

int n,GMAX;
int profit[5005];
int greutate[5005];
int dp[10003];
int main()
{
    fi>>n>>GMAX;

    for(int i=1; i<=n; i++)
        fi>>greutate[i]>>profit[i];


    for(int i=1; i<=GMAX; i++)
    {
        for(int j=GMAX-greutate[i]; j>=0; j--)
            if(dp[j]+profit[i]>dp[j+greutate[i]])
            dp[j+greutate[i]]=dp[j]+profit[i];

    }


    int maxim=-100000;
    for(int i=1; i<=GMAX; i++)
        maxim=max(maxim,dp[i]);

    fo<<maxim;

    fi.close();
    fo.close();
    return 0;
}