Pagini recente » Cod sursa (job #407933) | Cod sursa (job #1431380) | Cod sursa (job #2325791) | Cod sursa (job #2352839) | Cod sursa (job #602187)
Cod sursa(job #602187)
#include<fstream>
using namespace std;
long costmin[1002][5002],eg[1002],cg[1002],g,w;
long minim(long x,long y)
{
if (x<y) return x;
else return y;
}
int main(void)
{
long min,i,j;
ifstream fin("energii.in");
ofstream fout("energii.out");
fin >> g; fin >> w;
for (i=1;i<=g;i++)
{
fin>>eg[i]; fin>>cg[i];
}
fin.close();
for(i=1;i<=g;i++)
for(j=1;j<=w;j++)
{
min=costmin[i-1][j];
if(min==0)
if(costmin[i-1][j-eg[i]]==0)
if(eg[i]>=j) min=cg[i];
else ;
else min=costmin[i-1][j-eg[i]]+cg[i];
else
if(costmin[i-1][j-eg[i]]==0)
if(eg[i]>=j) min=minim(min,cg[i]);
else ;
else min=minim(min,costmin[i-1][j-eg[i]]+cg[i]);
costmin[i][j]=min;
}
if (costmin[g][w]==0)fout<<"-1";
else fout<<costmin[g][w];
fout.close();
return 0;
}