Pagini recente » Cod sursa (job #51791) | Cod sursa (job #1454132) | Cod sursa (job #2192553) | Cod sursa (job #1044131) | Cod sursa (job #305545)
Cod sursa(job #305545)
#include <stdio.h>
long p,cost[15100],c,pos[15100],i,n,w,sol,j,max;
int main()
{freopen("energii.in","r",stdin);
freopen("energii.out","w",stdout);
scanf("%ld%ld",&n,&w);pos[0]=1;
for(i=1;i<=n;++i)
{scanf("%ld%ld",&p,&c);if(p>max)max=p;
for(j=w;j>=0;--j)
if(pos[j])
if(pos[j+p]==0){pos[j+p]=1;cost[j+p]=cost[j]+c;}
else
if(cost[j]+c<cost[j+p])cost[j+p]=cost[j]+c;
}
sol=1000000004;
for(i=w+max;i>=w;i--)
if(pos[i]&&cost[i]<sol)sol=cost[i];
if(sol==1000000004)printf("-1");else printf("%ld",sol);
fclose(stdin);fclose(stdout);
return 0;
}