Pagini recente » Cod sursa (job #2703311) | Cod sursa (job #141155) | Cod sursa (job #26586) | Cod sursa (job #377457) | Cod sursa (job #1786281)
#include <stdio.h>
#define min(a,b) a<b? a:b
#define INF 2000000000
int d[10001],max;
int main()
{
FILE *fin,*fout;
fin=fopen("energii.in","r");
fout=fopen("energii.out","w");
int g,w,i,e,c,j;
fscanf(fin,"%d%d",&g,&w);
for(i=0;i<1001;i++)
d[i]=INF;
for(i=0;i<g;i++)
{
fscanf(fin,"%d%d",&e,&c);
max=min(max+e,w);
for(j=max-1;j>=e;j--)
d[j]=min(d[j],d[j-e]+c);
for(;j>=0;j--)
d[j]=min(d[j],c);
}
if(d[w-1]!=INF)
fprintf(fout,"%d",d[w-1]);
else
fprintf(fout,"-1");
fclose(fin);
fclose(fout);
return 0;
}