Pagini recente » Cod sursa (job #2031627) | Monitorul de evaluare | Cod sursa (job #1870426) | Cod sursa (job #823962) | Cod sursa (job #417998)
Cod sursa(job #417998)
#include<cstdio>
int minim,e,W,EG[1<<10],CG[1<<10],f[1<<13];
int min(int x,int y)
{
if(x<y) return x;
return y;
}
int main()
{
freopen("energii.in","r",stdin);
freopen("energii.out","w",stdout);
scanf("%d%d",&e,&W);
for(int i=1;i<=e;++i)
scanf("%d%d",&EG[i],&CG[i]);
f[0]=1;
for(int i=1;i<=e;++i)
{
for(int j=W;j>=0;j--)
if(f[j]!=0)
{
if(f[EG[i]+j]==0)
f[EG[i]+j]=f[j]+CG[i];
else
f[EG[i]+j]=min(f[EG[i]+j],f[j]+CG[i]);
}
}
minim=1<<30;
for(int i=W;i<=W+(1<<10);i++)
if(f[i]<minim && f[i]!=0)
minim=f[i];
printf("%d\n",minim-1);
return 0;
}