Pagini recente » Cod sursa (job #2854194) | Cod sursa (job #1525320) | Cod sursa (job #1116366) | Cod sursa (job #2063987) | Cod sursa (job #1589535)
#include <stdio.h>
#define inf 999999
int i,j,w,g,eg[1001],cg[1001],cost[200002],min,m;
int main()
{
FILE*f1,*f2;
f1=fopen("energii.in","r");
f2=fopen("energii.out","w");
fscanf(f1,"%d%d",&g,&w);
for(i=0;i<g;i++)
fscanf(f1,"%d%d",&eg[i],&cg[i]),
cost[eg[i]]=cg[i];
for(i=1;i<=w;i++)
if(cost[i])
for(j=0;j<g;j++)
{
if(cost[i+eg[j]]>cost[i]+cg[j] || cost[i+eg[j]]==0)
{
cost[i+eg[j]]=cost[i]+cg[j];
if(i+eg[j]>m)
m=i+eg[j];
}
}
min=inf;
for(i=w;i<=m;i++)
if(cost[i]<min && cost[i])
min=cost[i];
if(min!=inf)
fprintf(f2,"%d",min);
else
fprintf(f2,"-1");
return 0;
}