Cod sursa(job #1450404)

Utilizator crysstyanIacob Paul Cristian crysstyan Data 13 iunie 2015 11:41:17
Problema Energii Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <fstream>
#include <algorithm>
#define NMAX 1001

using namespace std;

ifstream f("energii.in");
ofstream g("energii.out");

int dp[NMAX][5*NMAX], i, j, n, m, E, e[NMAX], G, cost[NMAX], s=0;

int main()
{
    f>>G>>E;

    for (i=1; i<=G; ++i)
        f>>e[i]>>cost[i], s+=e[i];

    if (s<E)
    {
        g<<"-1";
        return 0;
    }
    else
    for (i=1; i<=G; ++i)
    {
        for (j=E; j>=0; --j)
        {
            dp[i][j]=dp[i-1][j];
            if (j>=e[i])
                dp[i][j]=max(dp[i][j],dp[i-1][j-e[i]]+cost[i]);
        }
    }
    g<<dp[G][E]<<'\n';
    return 0;
}