Pagini recente » Cod sursa (job #1930783) | Cod sursa (job #2947265) | Cod sursa (job #2840527) | Cod sursa (job #1333799) | Cod sursa (job #1026727)
#include <stdio.h>
#define fr(i,a,b) for(int i=a;i<b;++i)
#define rf(i,a,b) for(int i=b;i>=a;--i)
#define max(a,b) a>b?a:b
#define min(a,b) a<b?a:b
#define G 1000
#define W 5000
int e[G],c[G];
int v[W];
int main(){
freopen("energii.in","r",stdin);
freopen("energii.out","w",stdout);
int g,w,sol=-1;
scanf("%i%i",&g,&w);
fr(i,0,g)scanf("%i%i",e+i,c+i);
fr(i,0,g){
rf(j,0,w){
if(!j||v[j]){
if(j+e[i]>=w) sol=sol==-1?v[j]+c[i]:min(sol,v[j]+c[i]);
else {
if(v[j+e[i]]==0) v[j+e[i]]=v[j]+c[i];
else v[j+e[i]]=min(v[j+e[i]],v[j]+c[i]);
}
}
}
}
printf("%i",sol==10001?-1:sol);
return 0;
}