Pagini recente » Cod sursa (job #968871) | Cod sursa (job #2476735) | Cod sursa (job #667640) | Cod sursa (job #1167638) | Cod sursa (job #232634)
Cod sursa(job #232634)
# include <stdio.h>
int a[1009],b[1009],i,j,n,s,w,min=32000,ok;
char c[100000],d[100000];
int main ()
{
freopen ("energii.in","r",stdin);
freopen ("energii.out","w",stdout);
scanf ("%i%i",&n,&w);
for (i=0;i<n;i++)
{
scanf ("%i%i",&a[i],&b[i]);
s=s+a[i];
}
if (s<w)
printf ("-1");
else
{
for (i=0;i<n;i++)
{
ok=0;
if (c[a[i]]==0)
{
c[a[i]]=2;
ok=1;
}
for (j=0;j<=s;j++)
if (c[j]==1)
{
c[j+a[i]]=2;
d[j+a[i]]=d[j+a[i]]+b[i]+d[j];
}
if (ok==1)
{
c[a[i]]=1;
d[a[i]]=d[a[i]]+b[i];
}
for (j=0;j<=s;j++)
if (c[j]==2)
c[j]=1;
}
for (i=w;i<=s;i++)
if (c[i]==1)
if (d[i]<min)
min=d[i];
printf ("%i",min);
}
return 0;
}