Pagini recente » Cod sursa (job #3186419) | Cod sursa (job #380523) | Cod sursa (job #2704003) | Cod sursa (job #532522) | Cod sursa (job #559597)
Cod sursa(job #559597)
#include<stdio.h>
#define GMax 1002
#define WMax 5002
int G,W,C[WMax][GMax];
int E[GMax],Cost[GMax];
int main()
{int i,j;
FILE *f=fopen("energii.in","r");
FILE *g=fopen("energii.out","w");
fscanf(f,"%d %d",&G,&W);
for(i=1;i<=G;i++)
fscanf(f,"%d %d",&E[i],&Cost[i]);
fclose(f);
for(i = 1 ;i <= W; i++)
C[i][0] = 10001;
for(i = 1 ;i <= W; i++)
for(j=1;j<=G;j++)
if(i > E[j] && C[i-E[j]][j-1] + Cost[j] < C[i][j-1])
C[i][j] = Cost[j] + C[i-E[j]][j-1];
else
if(i <= E[j] && Cost[j] < C[i][j-1])
C[i][j] = Cost[j];
else
C[i][j]=C[i][j-1];
if(C[W][G]==10001)
fprintf(g,"-1\n");
else
fprintf(g,"%d\n",C[W][G]);
fclose(g);
return 0;
}