Pagini recente » Cod sursa (job #1305239) | Cod sursa (job #144900) | Cod sursa (job #3150645) | Cod sursa (job #886956) | Cod sursa (job #2450825)
#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;
else if(prod[fin]>prod[j]+v[i].c)
prod[fin]=prod[j]+v[i].c;
}
}
for(int i=1; i<20000; i++)
if(i>=w && prod[i]!=0)
{
minim=prod[i]-1;
break;
}
if(minim!=maxi)out<<minim;
else out<<-1;
in.close();
out.close();
return 0;
}