Pagini recente » Cod sursa (job #884805) | Cod sursa (job #1500599) | Cod sursa (job #1628189) | Cod sursa (job #751944) | Cod sursa (job #2629947)
#include <stdio.h>
int suma[4000001];
int main()
{
FILE *fin,*fout;
fin=fopen("energii.in","r");
fout=fopen("energii.out","w");
int n,max,e,c,i,j;
fscanf(fin,"%d%d",&n,&max);
for(i=1;i<=max;++i)
suma[i]=100000000;
for(i=1;i<=n;++i){
fscanf(fin,"%d%d",&e,&c);
for(j=max-1;j>=1;--j){
if(e+j>max){
if(c+suma[j]<suma[max])
suma[max]=c+suma[j];
}
else
if(c+suma[j]<suma[j+e])
suma[j+e]=c+suma[j];
}
if(c<suma[e])
suma[e]=c;
}
if(suma[max]==100000000)
fprintf(fout,"-1");
else
fprintf(fout,"%d",suma[max]);
fclose(fin);
fclose(fout);
return 0;
}