Pagini recente » Cod sursa (job #1990628) | Cod sursa (job #1547178) | Cod sursa (job #2134507) | Cod sursa (job #720098) | Cod sursa (job #1099596)
#include <cstdio>
#include <iostream>
using namespace std;
int C[1002][5002],e[1002],c[1002],i,j,n,w,se,sc;
int main()
{
FILE *f,*g;
f=fopen("energii.in","r");
g=fopen("energii.out","w");
fscanf(f,"%d%d",&n,&w);
for (i=1; i<=n; i++) { fscanf(f,"%d%d",&e[i],&c[i]); se=se+e[i]; sc=sc+c[i]; }
if (se<w) fprintf(g,"-1");
else {
for (i=0; i<=n; i++) C[i][0]=10001;
for (i=0; i<=w; i++) C[0][i]=10001;
for(i=1; i<=n; i++)
for(j=1; j<=w; j++)
if (e[i]>=j) C[i][j]=min(C[i-1][j],c[i]);
else C[i][j]=min(c[i]+C[i-1][j-e[i]],C[i-1][j]);
fprintf(g,"%d\n",C[n][w]);
}
/* for(i=1; i<=n; i++)
{
for(j=1; j<=w; j++) fprintf(g,"%d ",C[i][j]);
fprintf(g,"\n");
}*/
return 0;
}