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