Pagini recente » Cod sursa (job #865) | Cod sursa (job #742043) | Cod sursa (job #2591871) | Cod sursa (job #878752) | Cod sursa (job #590926)
Cod sursa(job #590926)
#include<stdio.h>
int g,w,x[1001][2],y[50001],min=1000000;
bool z[50010];
int main() {
int i,j;
freopen("energii.in","r",stdin);
freopen("energii.out","w",stdout);
scanf("%d%d",&g,&w);
z[0]=true;
for(i=1;i<=50000;++i)
y[i]=100000000;
for(i=1;i<=g;++i)
{
scanf("%d%d",&x[i][0],&x[i][1]);
for(j=5000;j>=0;--j)
{
if(z[j] && y[j+x[i][0]]>y[j]+x[i][1])
{
z[j+x[i][0]]=true;
y[j+x[i][0]]=y[j]+x[i][1];
}
}
}
for(i=w;i<=50000;++i) {
if(z[i] && y[i]<=min)
min=y[i];
}
if(min==1000000)
printf("-1");
else
printf("%d",min);
return 0;
}