Cod sursa(job #1643157)

Utilizator Radu_FilipescuFilipescu Radu Radu_Filipescu Data 9 martie 2016 17:54:33
Problema Energii Scor 95
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include <fstream>
#include <algorithm>
#define MAXIM 9999999

using namespace std;

ifstream fin("energii.in");
ofstream fout("energii.out");

int g,w,eg[1002],cg[1002],a[5002],b[5002];

int main()
{
   int i,j;

  fin>>g>>w;
  for(i=1; i<=g; i++) fin>>eg[i]>>cg[i];
  fin.close();

  for(i=1; i<=w; i++) a[i]=b[i]=MAXIM;

  for(i=1; i<=g; i++)
       { for(j=1; j<=w; j++)
           if(j>=eg[i]) b[j]=min(a[j],a[j-eg[i]]+cg[i]);
           else b[j]=min(a[j],cg[i]);
         for(j=1; j<=w; j++) a[j]=b[j];
       }
    if(a[w]!=MAXIM) fout<<a[w];
    else fout<<'-1';
    return 0;
}