Pagini recente » Cod sursa (job #2800314) | Cod sursa (job #104068) | Cod sursa (job #1074595) | Cod sursa (job #589767) | Cod sursa (job #152325)
Cod sursa(job #152325)
#include <fstream.h>
#define inf 2000000000
ifstream f("energii.in");
ofstream h("energii.out");
int g,c[1002],e[1002],w;
long sol[100000];
void citire()
{
int i;
f>>g>>w;
for (i=1;i<=g;i++)
f>>e[i]>>c[i];
}
long rez()
{
int i,j,pozmax=0;
for (i=1;i<=99999;i++)
sol[i]=inf;
sol[0]=0;
for (i=1;i<=g;i++)
for (j=w;j>=0;j--)
{
if (sol[j]+c[i]<sol[e[i]+j])
sol[e[i]+j]=c[i]+sol[j];
if (e[i]+j >pozmax)
pozmax=e[i]+j;
}
int min=inf;
for (i=w;i<=pozmax;i++)
if (sol[i]<min)
min=sol[i];
if (min==inf)
return -1;
else
return min;
}
int main()
{
citire();
h<<rez();
/*for (i=0;i<=20;i++)
h<<sol[i]<<" ";*/
}