Pagini recente » Cod sursa (job #187150) | Cod sursa (job #498632) | Cod sursa (job #2103965) | Cod sursa (job #2278366) | Cod sursa (job #583440)
Cod sursa(job #583440)
#include<cstdio>
long s, x[1000000];
int main(){
freopen("energii.in","r",stdin);
freopen("energii.out","w",stdout);
long v[1002], w[1002], s, i, j, p, nr, w1;
scanf("%ld%ld",&nr,&w1);
s=0;
for (i=0;i<nr;i++)
scanf("%ld%ld",&v[i],&w[i]) , s+=v[i];
if (s<w1) printf("-1\n");
else
{
x[0]=1;
for (i=0;i<nr;i++)
for (j=w1;j>=0;j--)
if (x[j] && ((w[i]+x[j]<x[j+v[i]])||(x[j+v[i]]==0)))
x[j+v[i]]=w[i]+x[j];
p=x[w1];
for (i=w1+1;i<=s;i++)
if ( x[i]<p && x[i] ) p=x[i];
printf("%ld\n",p-1);
}
return 0;
}