Pagini recente » Cod sursa (job #684298) | Cod sursa (job #211853) | Cod sursa (job #2868752) | Cod sursa (job #2341883) | Cod sursa (job #1099747)
#include <cstdio>
#include <iostream>
using namespace std;
int C[1002][5002],eg[1002],cg[1002],i,j,n,w,s,s1;
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",&eg[i],&cg[i]); s=s+eg[i]; s1=s1+cg[i]; }
if(s<w) fprintf(g,"-1");
else
{
for (i=0; i<=n; i++) C[i][0]=10001;
for (i=1; i<=w; i++) C[0][i]=10001;
for(i=1; i<=n; i++)
for(j=1; j<=w; j++)
if (eg[i]<j) C[i][j]=min(cg[i]+C[i-1][j-eg[i]],C[i-1][j]);
else C[i][j]=min(C[i-1][j],cg[i]);
fprintf(g,"%d\n",C[n][w]);
}
return 0;
}