Pagini recente » Cod sursa (job #1106213) | Cod sursa (job #719555) | Cod sursa (job #876923) | Cod sursa (job #1408572) | Cod sursa (job #317479)
Cod sursa(job #317479)
#include <stdio.h>
#define N 15001
#define M 1001
int sum[N];
int cost[M],gen[M];
int n,w;
int main ()
{int i,j,min;
freopen("energii.in","r",stdin);
freopen("energii.out","w",stdout);
scanf("%d %d",&n,&w);
for (i=0;i<n;i++)
{scanf("%d %d",&gen[i],&cost[i]);
}
for (j=0;j<n;j++)
{for (i=w-1;i>=0;i--)
{if(sum[i]&&i+cost[j]<N&&(sum[i+gen[j]]>sum[i]+cost[j]||sum[i+gen[j]]==0))
{sum[i+gen[j]]=sum[i]+cost[j];
}
}
if(sum[gen[j]]>cost[j]||sum[gen[j]]==0)
{sum[gen[j]]=cost[j];
}
}
for (i=w,min=100000000;i<=15000;i++)
{if(min>sum[i]&&sum[i]!=0)
{min=sum[i];
}
}
if(min==100000000)printf("-1");
else printf("%d",min);
return 0;
}