Pagini recente » Cod sursa (job #587163) | Cod sursa (job #1973175) | Cod sursa (job #168700) | Cod sursa (job #733413) | Cod sursa (job #589858)
Cod sursa(job #589858)
#include<stdio.h>
int g,w,x[1001][2],y[5001],min=10000000;
bool z[5001];
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<=5000;++i)
y[i]=100000000;
for(i=1;i<=g;++i)
{
scanf("%d%d",&x[i][0],&x[i][1]);
for(j=5000-x[i][0];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<=5000;++i) {
if(z[i] && y[i]<=min)
min=y[i];
}
if(min==100000)
printf("-1");
else
printf("%d",min);
return 0;
}