Pagini recente » Cod sursa (job #459528) | Cod sursa (job #562851) | Cod sursa (job #635529) | Monitorul de evaluare | Cod sursa (job #1732578)
#include <stdio.h>
#define lim 10000
#define inf 2000000000
int v[lim+5];
int main(){
freopen("energii.in","r",stdin);
freopen("energii.out","w",stdout);
int i,j,n,m,val=0,min=inf,e,c;
scanf("%d%d",&n,&m);
for(i=1;i<=lim;i++)
v[i]=inf;
for(i=1;i<=n;i++){
scanf("%d%d",&e,&c);
if(val+e<=lim)
val+=e;
else
val=lim;
for(j=val;j>=e;j--)
if(v[j]>v[j-e]+c)
v[j]=v[j-e]+c;
}
for(i=m;i<=lim;i++)
if(v[i]<min)
min=v[i];
if(min==inf)
min=-1;
printf("%d\n",min);
return 0;
}