Pagini recente » Cod sursa (job #2197825) | Cod sursa (job #2862967) | Cod sursa (job #910698) | Cod sursa (job #2027085) | Cod sursa (job #477136)
Cod sursa(job #477136)
# 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,x[N],SUA;
int main (){
freopen ("energii.in","r",stdin);
freopen ("energii.out","w",stdout);
scanf ("%d%d",&G,&W);
for (i=1;i<=W;++i) sol[i]=1000000000;
for (i=1;i<=G;++i){
scanf ("%d%d",&e[i],&c[i]);
SUA+=e[i];
}
if (SUA<W){
printf ("-1\n");
return 0;
}
x[0] = 1;
sol[0] = 0;
x[ e[1] ] = 1;
sol[ e[1] ] = c[1];
for (i=2;i<=G;++i)
for (j=W;j>=0;--j)
if (x[j]){
sum=j+e[i];
sum2=sol[j]+c[i];
if (sum>W){
x[W]=1;
sol[W]=min (sol[W],sum2);
}
else{
x[sum]=1;
sol[sum]=min (sol[sum],sum2);
}
}
printf ("%d\n",sol[W]);
return 0;
}