Pagini recente » Cod sursa (job #2505714) | Cod sursa (job #1115971) | Cod sursa (job #730831) | Cod sursa (job #1179824) | Cod sursa (job #48064)
Cod sursa(job #48064)
#include<stdio.h>
int g,n,i,j,kn[10002],x[1002],cost[5002],sum,u[10002];
int main()
{
freopen ("energii.in","rt",stdin);
freopen ("energii.out","wt",stdout);
scanf("%d %d",&n,&g);
for (i=1;i<=10000;i++)
kn[i]=32000;
for (i=1;i<=n;i++)
scanf("%d %d",&x[i],&cost[i]);
for (i=1;i<=n;i++)
{
i=i;
for (j=1;j<=g;j++)
{
if (kn[j]!=32000)
if (!u[j]==1 || kn[j]==cost[i])
{
if (kn[j+x[i]]>kn[j]+cost[i])
kn[j+x[i]]=kn[j]+cost[i],u[j+x[i]]=u[j]+1;
}
}
if (kn[x[i]]>cost[i])
kn[x[i]]=cost[i];
}
for (i=g;g<=9999;g++)
if (kn[g]!=32000)
break;
if (kn[g]==32000)
printf("-1\n");
else
printf("%ld\n",kn[g]);
return 0;
}