Pagini recente » Cod sursa (job #2446442) | Cod sursa (job #811513) | Cod sursa (job #1459461) | Cod sursa (job #1903294) | Cod sursa (job #2080361)
#include <stdio.h>
#include <stdlib.h>
int G ,W,C[1002],E[1002],D[5002],i,j;
#define inf 200000
int min(int a,int b)
{
if(a>=b)
return b;
else return a;
}
int main()
{ FILE *f,*g;
f=fopen("energii.in","r");
g=fopen("energii.out","w");
fscanf(f,"%d %d",&G,&W);
for(i=1;i<=G;i++)
fscanf(f,"%d%d",&E[i],&C[i]);
for(i=1;i<=W;i++)
D[i]=inf;
for(i=1;i<=G;i++)
{for(j=W;j>=E[i];j--)
D[j]=min(D[j],D[j-E[i]]+C[i]);
for(j=1;j<=min(W,E[i]);j++)
D[j]=min(D[j],C[i]);
}
if(D[W]==inf)
fprintf(g,"%d",-1);
else
fprintf(g,"%d",D[W]);
return 0;
}