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