Pagini recente » Cod sursa (job #2298082) | Cod sursa (job #415860) | Cod sursa (job #415823) | Monitorul de evaluare | Cod sursa (job #477109)
Cod sursa(job #477109)
# include <cstdio>
# include <algorithm>
# define N 1001
using namespace std;
int S,G,W,e[N],c[N],sol[N*20],i,j,S2,sum,minim=1000000000,sum2;
int main (){
freopen ("energii.in","r",stdin);
freopen ("energii.out","w",stdout);
scanf ("%d%d",&G,&W);
for (i=1;i<=G;++i){
scanf ("%d%d",&e[i],&c[i]);
if (sol[e[i]]==0 || sol[e[i]]>c[i]) sol[e[i]]=c[i];
}
for (i=1;i<=G;++i)
for (j=W;j>=1;--j)
if (sol[j]){
sum=j+e[i];
sum2=sol[j]+c[i];
if (sum>W){
sol[W]=min (sol[W],sum2);
}
else{
sol[sum]=min (sol[sum],sum2);
}
}
if (sol[W]==0) printf ("-1\n");
else
printf ("%d\n",sol[W]);
return 0;
}