Pagini recente » Cod sursa (job #2756106) | Cod sursa (job #246248) | Cod sursa (job #1034327) | Cod sursa (job #507164) | Cod sursa (job #479176)
Cod sursa(job #479176)
#include <stdio.h>
int d[15001],e[1001],c[1001],s,g,w,i,j,min=1000000;
int main()
{
freopen("energii.in","r",stdin);
freopen("energii.out","w",stdout);
scanf("%d%d",&g,&w);
for (i=1;i<=g;i++)
{
scanf("%d%d",&e[i],&c[i]);
s+=e[i];
}
if (s<w) {printf("-1");return 0;}
for (i=1;i<=g;i++)
{
for (j=w;j>0;j--)
if ((d[j]>0)&&((d[j+e[i]]>d[j]+c[i])||(d[j+e[i]]==0))) d[j+e[i]]=d[j]+c[i];
if ((d[e[i]]==0)||(d[e[i]]>c[i])) d[e[i]]=c[i];
}
for (i=w;i<=s;i++) if ((d[i]!=0)&&(d[i]<min)) min=d[i];
printf("%d",min);
return 0;
}