Pagini recente » Monitorul de evaluare | Borderou de evaluare (job #1846139) | Cod sursa (job #1361086) | Cod sursa (job #2646906) | Cod sursa (job #34003)
Cod sursa(job #34003)
#include<stdio.h>
long x[502],i,j,n,m,k,l,a,z,s[502],y[502];
int main()
{
freopen("energii.in","r",stdin);
freopen("energii.out","w",stdout);
scanf("%ld%ld",&n,&m);
for (i=1;i<=n;i++)
scanf("%ld%ld",&x[i],&y[i]);
s[0]=1;
for (i=1;i<=n;i++)
for (j=m;j>=0;j--)
if (s[j]) if ((s[j+x[i]]&&s[j+x[i]]>s[j]+y[i])||(s[j+x[i]]==0)) {s[j+x[i]]=s[j]+y[i];}
z=2000000000;
for (i=m;i<=5001;i++)
if (s[m]<z&&s[m]!=0) {z=s[m];}
if (z==2000000000) z=0;
printf("%ld\n",z-1);
return 0;
}