Pagini recente » Cod sursa (job #2270257) | Cod sursa (job #425526) | Cod sursa (job #1473804) | Cod sursa (job #566771) | Cod sursa (job #602185)
Cod sursa(job #602185)
#include<fstream>
using namespace std;
long costmin[1002][5002];
long minim(long x,long y)
{
if (x<y) return x;
else return y;
}
int main(void)
{
long min,i,j,g,w,eg[1002],cg[1002];
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;
}