Pagini recente » Cod sursa (job #2076222) | Cod sursa (job #932674)
Cod sursa(job #932674)
#include <fstream>
using namespace std;
int costminim[1005][5001];
long long s;
int main()
{
int g,energie[1005],w,i,cost[1005],y;
ifstream f1("energii.in");
ofstream f2("energii.out");
f1>>g>>w;
for (i=1;i<=g;++i)
{
f1>>energie[i]>>cost[i];
s+=energie[i];
}
if (s<w)
{
f2<<"-1\n";
f1.close();
f2.close();
return 0;
}
for (i=1;i<=w;++i)
costminim[0][i]=2000000000;
for (i=1;i<=g;++i)
costminim[i][0]=2000000000;
for (i=1;i<=g;++i)
for (y=1;y<=w;++y)
{
if (energie[i]>=y)
{
costminim[i][y]=min(costminim[i-1][y],cost[i]);
}
else
{
costminim[i][y]=min(costminim[i-1][y],costminim[i-1][y-energie[i]]+cost[i]);
}
}
f2<<costminim[g][w]<<'\n';
f1.close();
f2.close();
return 0;
}