Pagini recente » Cod sursa (job #2600819) | Cod sursa (job #1068904) | Cod sursa (job #1705559) | Cod sursa (job #688897) | Cod sursa (job #1842609)
#include <fstream>
#define gmax 1001
#define wmax 5001
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
struct generatoare
{
int en,cost;
};
generatoare v[gmax];
int g,w,d[wmax],minn=-1;
int main()
{
int i,j;
d[0]=0;
fin>>g>>w;
for(i=1; i<=w-1; i++)
d[i]=-1;
for(i=1; i<=g; i++)
{
fin>>v[i].en>>v[i].cost;
for(j=w-1; j>=0; j--)
if(d[j]!=-1)
if(j+v[i].en>=w)
{
if(minn==-1)
minn=d[j]+v[i].cost;
else
minn=min(minn,d[j]+v[i].cost);
}
else if(d[j+v[i].en]==-1 || d[j+v[i].en]>d[j]+v[i].cost)
d[j+v[i].en]=d[j]+v[i].cost;
}
fout<<minn;
fin.close();
fout.close();
return 0;
}