Cod sursa(job #1666904)

Utilizator Emy1337Micu Emerson Emy1337 Data 28 martie 2016 14:45:57
Problema Energii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");

const int MAXG=5e3+5;
int n,g,energie,cost;
int a[MAXG],b[MAXG];

int main()
{
    fin>>n>>g;
    while(n--)
    {
        fin>>cost>>energie;

        for(int j=1; j<=g; j++)
        {
            a[j]=b[j];

            if(j>=cost)
            {
                a[j]=max( a[j],  b[j-cost] + energie);
            }
        }

        for(int j=1; j<=g; j++) b[j]=a[j],a[j]=0;
    }

    if(b[g]<g) fout<<"-1";
    else fout<<b[g];

    return 0;
}