Pagini recente » Cod sursa (job #787834) | Cod sursa (job #1839947) | Cod sursa (job #3238772) | Cod sursa (job #1715105) | Cod sursa (job #2412855)
#include <bits/stdc++.h>
using namespace std;
ifstream in ("energii.in");
ofstream out ("energii.out");
struct info
{
int cost;
int energie;
};
info v[1001];
int rasp[5001];
int main ()
{
int g,w,s=0;
in>>g>>w;
for (int i=1;i<=g;++i)
{
in>>v[i].energie>>v[i].cost;
s+=v[i].energie;
}
if (s<w)
{
out<<'-1';
return 0;
}
for (int i=1;i<=w;++i)
{
rasp[i]=INT_MAX;
for (int j=1;j<=g;++j)
{
if (i-j>=0)
rasp[i]=min(rasp[i],rasp[i-v[j].energie]+v[j].cost);
else
rasp[i]=min(rasp[i],v[i].cost);
}
}
out<<rasp[w];
return 0;
}