Pagini recente » Cod sursa (job #1427569) | Cod sursa (job #2298217) | Cod sursa (job #386482) | Cod sursa (job #1363537) | Cod sursa (job #327943)
Cod sursa(job #327943)
#include <stdio.h>
FILE *f,*g;
long maxn=10000002;
long d[20002];
long n,w,i,t,x,y;
int main(){
f=fopen("energii.in","r");
g=fopen("energii.out","w");
fscanf(f,"%ld%ld",&n,&w);
for (i=1;i<=w;i++) d[i]=maxn;
for (t=1;t<=n;t++){
fscanf(f,"%ld%ld",&x,&y);
for (i=w-1;i>=0;i--){
if (i+x<=w){
if (d[i+x]>d[i]+y)
d[i+x]=d[i]+y;
}
else
if (d[w]>d[w]+y)
d[w]+=y;
}
}
if (d[w]==maxn) fprintf(g,"-1\n");
else fprintf(g,"%ld",d[w]);
fclose(f);
fclose(g);
return 0;
}