Pagini recente » Cod sursa (job #2707832) | Cod sursa (job #1817156) | Cod sursa (job #3225582) | Cod sursa (job #3241212) | Cod sursa (job #2452817)
#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;
}