Pagini recente » Cod sursa (job #576984) | Cod sursa (job #1885118) | Cod sursa (job #1821834) | Cod sursa (job #2359638) | Cod sursa (job #33985)
Cod sursa(job #33985)
#include<stdio.h>
long s;
int main(){
FILE*f=fopen("energii.in","r");
FILE*g=fopen("energii.out","w");
long v[50], w[50], x[50], s, i, j, p, nr, w1;
fscanf(f,"%d%d",&nr,&w1);
s=0;
for (i=0;i<nr;i++){
fscanf(f,"%ld%ld",&v[i],&w[i]);
s+=v[i];
}
if (s<w1) fprintf(g,"-1\n");
else {
for (i=1;i<=s;i++)
x[i]=1000000000;
x[0]=1;
for (i=0;i<nr;i++)
for (j=s;j>=0;j--)
if (x[j]!=1001&&w[i]+x[j]<x[j+v[i]])
x[j+v[i]]=w[i]+x[j];
p=x[w1];
for (i=w1+1;i<=s;i++)
if (x[i]<p) p=x[i];
fprintf(g,"%ld",p-1);
}
fclose(f);
fclose(g);
return 0;
}