Pagini recente » Cod sursa (job #1933454) | Cod sursa (job #646460) | Cod sursa (job #3207672) | Cod sursa (job #1893754) | Cod sursa (job #357636)
Cod sursa(job #357636)
#include <stdio.h>
#define INF 10000000
#define G 1002
#define W 5002
int energie[G];
int cost[G];
int lucru[W];
int main ()
{FILE *fin=fopen("energii.in","r");
if(!fin)return 0;
FILE *fout=fopen("energii.out","w");
if(!fout)return 0;
int g,w,i,j,costTot=INF;
fscanf(fin,"%d %d",&g,&w);
for (i=0;i<g;i++)
{fscanf(fin,"%d %d",&energie[i],&cost[i]);
}
lucru[0]=0;
for (i=1;i<w;i++)
{lucru[i]=INF;
}
for (j=0;j<g;j++)
{for (i=w-1;i>=0;i--)
{if(energie[j]+i>=w)
{if(cost[j]+lucru[i]<costTot)
{costTot=cost[j]+lucru[i];
}
}
else
{if(cost[j]+lucru[i]<lucru[i+energie[j]])
{lucru[i+energie[j]]=cost[j]+lucru[i];
}
}
}
}
fprintf(fout,"%d",costTot);
fclose(fout);
return 0;
}