Pagini recente » Cod sursa (job #265178) | Cod sursa (job #2541860) | Cod sursa (job #2381757) | Cod sursa (job #1564337) | Cod sursa (job #1589542)
#include <stdio.h>
#define inf 999999
int i,j,w,g,eg[1001],cg[1001],sol[1001][5001];
int min(int a , int b)
{
if(a>b)
return b;
return a;
}
int main()
{
FILE*f1,*f2;
f1=fopen("energii.in","r");
f2=fopen("energii.out","w");
fscanf(f1,"%d%d",&g,&w);
for(i=1;i<=g;i++)
fscanf(f1,"%d%d",&eg[i],&cg[i]);
for(i=0;i<=g;i++)
for(j=0;j<=w;j++)
sol[i][j]=inf;
for(i=1;i<=g;i++)
for(j=0;j<=w;j++)
if(j<=eg[i])
sol[i][j]=min(sol[i-1][j],cg[i]);
else
sol[i][j]=min(sol[i-1][j-eg[i]]+cg[i],sol[i-1][j]);
if(sol[g][w]==inf)
fprintf(f2,"-1");
else
fprintf(f2,"%d",sol[g][w]);
return 0;
}