Pagini recente » Cod sursa (job #952951) | Cod sursa (job #2453797) | Cod sursa (job #817839) | Cod sursa (job #840860) | Cod sursa (job #473425)
Cod sursa(job #473425)
#include<stdio.h>
long x[100002],i,j,n,m,k,l,a,z,s[100002],y[100002];
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]);
/*a=1;
while (a)
{
a=0;
for (i=1;i<n;i++)
if (x[i]>x[i+1]) {a=x[i]; x[i]=x[i+1]; x[i+1]=x[i]; a=y[i]; y[i]=y[i+1]; y[i+1]=a; a=1;}
}
*/
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<=100001;i++)
if (s[i]<z&&s[i]!=0) {z=s[i];}
if (z==2000000000) z=0;
printf("%ld\n",z-1);
return 0;
}