Pagini recente » Istoria paginii utilizator/tudormaxim | Cod sursa (job #873984)
Cod sursa(job #873984)
#include <fstream>
using namespace std;
ifstream f("energii.in");
ofstream g("energii.out");
int G,W,e[5001],c[5001],cost[5001],minim=0;
int main()
{
int i,j,k;
f>>G>>W;
for(k=1;k<=G;k++)
f>>e[k]>>c[k];
for(j=1;j<=W;++j)
cost[j]=-1;
cost[0]=0;
for(i=1;i<=G;++i)
for(j=W;j>=0;--j)
if (cost[j]!=-1)
{
if(j+e[i]>G)
if(minim>cost[j]+c[i])
minim=cost[j]+c[i];
if (j+e[i]<=W)
if(cost[j+e[i]]>cost[j]+c[i]||cost[j+e[i]]==-1)
cost[j+e[i]]=cost[j]+c[i];
}
if(c[W]==-1 || minim==0)
g<<-1;
else
g<<minim;
return 0;
}