Pagini recente » Cod sursa (job #710177) | Cod sursa (job #1019131) | Cod sursa (job #565409) | Cod sursa (job #2755141) | Cod sursa (job #419904)
Cod sursa(job #419904)
#include<stdio.h>
#include<limits.h>
int g1,w,i,j,m,n,a[5002];
int main(){
FILE * f=fopen("energii.in","r");
FILE * g=fopen("energii.out","w");
fscanf (f,"%d %d",&g1,&w);
a[0]=0;
for (i=1;i<=g1;i++)
a[i]=INT_MAX;
for (i=1;i<=g1;i++){
fscanf(f,"%d %d",&m,&n);
for (j=w;j>=0;j--)
if (a[j]!=INT_MAX)
if (a[j]+n<a[j+m]&&j+m<=w)
a[j+m]=a[j]+n;
else
if (a[j]+n<a[w]&&j+m>w)
a[w]=a[j]+n;
}
if (a[w]!=INT_MAX)
fprintf(g,"%d",a[w]);
else
fprintf(g,"%d",-1);
return 0;
}