Pagini recente » Cod sursa (job #2178455) | Cod sursa (job #1469757) | Cod sursa (job #2665141) | Cod sursa (job #228910) | Cod sursa (job #1804391)
#include <cstdio>
using namespace std;
const int G=10010,Inf=(1<<30);
int n,g,x,c,d[G],i,j;
int main()
{
freopen("energii.in","r",stdin);
freopen("energii.out","w",stdout);
int minn=Inf;
scanf("%d%d",&n,&g);
d[0]=1;
for(i=1;i<=2*g;i++) d[i]=Inf;
for(i=1;i<=n;i++){
scanf("%d%d",&x,&c);
if(x>=g and c<=minn){
minn=c+1;
continue;
}
for(int j=g-1;j>=0;j--){
if(d[j]!=Inf){
if(d[j]+c<d[j+x])
d[j+x]=d[j]+c;
}
}
}
for(i=g;i<=2*g;i++)
if(d[i]<minn) minn=d[i];
//if(minn==Inf) minn=0;
printf("%d\n",minn-1);
return 0;
}