Cod sursa(job #2264614)

Utilizator AndreiG23Ghiurcuta Andrei AndreiG23 Data 20 octombrie 2018 10:48:10
Problema Energii Scor 5
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <iostream>
#include <fstream>
using namespace std;
#define gMax 1005
ifstream fin("energii.in");
ofstream fout("energii.out");

int G,W,e[gMax],c[gMax],i,j,Optim[gMax];
int main()
{
   fin>>G>>W;int k=0;
   for(i=1;i<=G;i++)
   {
       fin>>e[i]>>c[i];
       k=k+e[i];
   }
   if(k<W)fout<<-1;
   else
   {
       Optim[0] = 0;
    int sol = 0;

    for(  i = 1; i <= G; ++i)
        for(  j = W - e[i]; j >= 0; --j) {
            if( Optim[j+e[i]] < Optim[j] + c[i] )
            {
                Optim[j+e[i]] = Optim[j] + c[i];
                if( Optim[j+e[i]] > sol)
                    sol = Optim[j+e[i]];
            }
        }
        fout<<sol;
   }
}