Pagini recente » Cod sursa (job #1353832) | Cod sursa (job #1427062) | Cod sursa (job #3000842) | Cod sursa (job #1944497) | Cod sursa (job #419891)
Cod sursa(job #419891)
#include <stdio.h>
#include <limits.h>
int n,w,v[5002],x,y,i,j;
int main() {
FILE *f=fopen("energii.in","r");
FILE *g=fopen("energii.out","w");
fscanf(f,"%d%d",&n,&w);
v[0]=0;
for(i=1;i<=w;i++)
v[i]=INT_MAX;
for(i=1;i<=n;i++) {
fscanf(f,"%d%d",&x,&y);
for(j=w;j>=0;j--)
if(v[j]!=INT_MAX)
if(v[j]+y<v[j+x]&&j+x<=w)
v[j+x]=v[j]+y;
else
if(v[j]+y<v[w]&&j+x>w)
v[w]=v[j]+y;
}
if(v[w]!=INT_MAX)
fprintf(g,"%d",v[w]);
else
fprintf(g,"-1");
return 0;
}