Cod sursa(job #2452817)

Utilizator LeCapataIustinian Serban LeCapata Data 1 septembrie 2019 13:29:10
Problema Energii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.59 kb
#include <fstream>
#define maxi 10011002

using namespace std;

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

struct generator
{
int e;
int c;
};

generator v[1001];

int prod[20000];


int main()
{
int g, w, fin=0, minim=maxi;

in>>g>>w;
for(int i=1; i<=g; i++)in>>v[i].e>>v[i].c;

prod[0]=1;
for(int i=1; i<=g; i++)
for(int j=w; j>=0; j--)
{
fin=j+v[i].e;
if(prod[j]!=0)
{
if(prod[fin]==0 || prod[fin]>prod[j]+v[i].c)
{
prod[fin]=prod[j]+v[i].c;

if( fin>=w && prod[fin] < minim)
{
minim = prod[fin];
}
}
}

}
if(minim!=maxi)out<<(minim-1);
else out<<-1;

in.close();
out.close();
return 0;
}