Pagini recente » Cod sursa (job #754958) | Cod sursa (job #3192384) | Cod sursa (job #2078012) | Cod sursa (job #1453653) | Cod sursa (job #2452550)
#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;
}
}
for(int i=0; i<20000; i++)prod[i]--;
for(int i=w-1; i<20000; i++)
if(prod[i]>-1)
{
minim=prod[i];
break;
}
if(minim!=maxi)out<<minim;
else out<<-1;
in.close();
out.close();
return 0;
}