Pagini recente » Cod sursa (job #869166) | Cod sursa (job #2764231) | Cod sursa (job #1421618) | Cod sursa (job #1204700) | Cod sursa (job #138002)
Cod sursa(job #138002)
#include<stdio.h>
FILE*fin=fopen("energii.in","r");
FILE*fout=fopen("energii.out","w");
#define inf 1000000000
int main()
{
int vt=0,n,rez[15001],min,i,j,vol,e[1001],c[1001];
fscanf(fin,"%d",&n);
fscanf(fin,"%d",&vol);
for(i=1;i<=n;i++)
{
fscanf(fin,"%d%d",&e[i],&c[i]);
vt+=e[i];
}
if(vt>15000) vt=15000;
fclose(fin);
if(vol>vt){fprintf(fout,"%d",-1);fclose(fout);}
rez[0]=0;
for(i=1;i<=vt;i++)
rez[i]=inf;
for(i=1;i<=n;i++)
for(j=vt;j>=e[i];j--)
if(rez[j-e[i]]+c[i]<rez[j]) rez[j]=rez[j-e[i]]+c[i];
min=inf;
for(i=vol;i<=vt;i++)
if(rez[i]<min) min=rez[i];
fprintf(fout,"%d",min);
fclose(fout);
return 0;
}