Pagini recente » Cod sursa (job #2976363) | Cod sursa (job #2498787) | Cod sursa (job #343907) | Cod sursa (job #1868193) | Cod sursa (job #80823)
Cod sursa(job #80823)
#include<math.h>
#include<stdio.h>
#include<values.h>
int p1,aux,p2,max,n,wr,a[15002],min,j,i,v[1001][2];
int main()
{
long maxval = 10000001;
freopen("energii.in","r",stdin);
freopen("energii.out","w",stdout);
scanf("%d%d",&n,&wr);
max=0;
aux=0;
for(i=1;i<=10001;i++)
a[i]=maxval;
for(i=1;i<=n;i++)
{
scanf("%d%d",&p1,&p2);
v[i][0] = p1;
v[i][1] = p2;
}
for(i=1;i<=n;i++)
{
for(j=wr;j>=0;j--)
{
if(a[j]!=maxval)
if(a[j+v[i][0]]>a[j]+v[i][1])
a[j+v[i][0]]=a[j]+v[i][1];
}
}
min=maxval;
for(i=wr;i<=wr+10000;i++)
if(min>a[i] && a[i]!=0)
min=a[i];
if(min!=maxval) printf("%d\n",min);
else printf("-1\n");
return 0;
}