Pagini recente » Cod sursa (job #2991283) | Cod sursa (job #2073069) | Cod sursa (job #2684516) | Cod sursa (job #883336) | Cod sursa (job #1401239)
#include <cstdio>
#include <algorithm>
using namespace std;
int Gmax,n,a[2][10000001],g[1001],v[1001],i,j,k,r;
int main()
{freopen("energii.in","r",stdin);
freopen("energii.out","w",stdout);
scanf("%d%d",&n,&k);
for(i=1;i<=n;i++)
{scanf("%d%d",&v[i],&g[i]);
Gmax=Gmax+g[i];
}
r=0;
for(i=1;i<=n;i++)
{for(j=1;j<=Gmax;j++)
{if(g[i]>j) a[1][j]=a[0][j];
else{a[1][j]=max(a[0][j],v[i]+a[0][j-g[i]]);
}
if((a[1][j]>=k)&&(j<=Gmax)){Gmax=j;r=1;break;}
}
for(j=1;j<=Gmax;j++)
a[0][j]=a[1][j];
}
if(r==1)printf("%d",Gmax);
else printf("-1");
}