Pagini recente » Cod sursa (job #1752946) | Cod sursa (job #2476269) | Cod sursa (job #2039303) | Cod sursa (job #18233) | Cod sursa (job #945265)
Cod sursa(job #945265)
#include <fstream>
using namespace std;
ifstream f("energii.in");
ofstream g("energii.out");
int costmin[1005][5001];
long long s,nr;
int main()
{
int e[1005],w,cost[1005],y;
f>>nr>>w;
for (int i=1; i<=nr; ++i)
{
f>>e[i]>>cost[i];
s+=e[i];
}
for (int i=1; i<=w; ++i) costmin[0][i]=2000000000;
for (int i=1; i<=nr; ++i) costmin[i][0]=2000000000;
for (int i=1; i<=nr; ++i)
for (y=1; y<=w; ++y)
{
if (e[i]>=y)
{
costmin[i][y]=min(costmin[i-1][y],cost[i]);
}
else
{
costmin[i][y]=min(costmin[i-1][y],costmin[i-1][y-e[i]]+cost[i]);
}
}
if (s<w) g<<-1<<'\n';
else g<<costmin[nr][w]<<'\n';
f.close();
g.close();
return 0;
}