Pagini recente » Cod sursa (job #1197768) | Cod sursa (job #1180835) | Cod sursa (job #2334664) | Cod sursa (job #1544504) | Cod sursa (job #94656)
Cod sursa(job #94656)
#include <stdio.h>
int s[25001];
int main()
{
long int n,w;
long int e;
long int c;
freopen("energii.in","r",stdin);
freopen("energii.out","w",stdout);
long cmin=1000000000;
scanf("%ld %ld",&n,&w);
register long int i;
long int us;
for (i=1;i<=n;i++)
{
scanf("%ld%ld",&e,&c);
if (i==1)
{
us=e;
s[us]=c;
}
else
{
long int j;
long int k=us;
for (j=us;j>=0;j--)
{
if ((s[j+e]>c+s[j])||(s[j+e]==0))
{
s[j+e]=c+s[j];
if (k<j+e)
k=j+e;
if ((j+e>=w)&&(cmin>s[j+e]))
{
cmin=c+s[j];
s[w]=cmin;
}
}
if (k<=w)
us=k;
}
}
}
if (cmin==0)
printf("-1");
else
printf("%ld",cmin);
fclose(stdout);
return 0;
}