Pagini recente » Cod sursa (job #1922314) | Cod sursa (job #2098599) | Cod sursa (job #1721066) | Cod sursa (job #71533) | Cod sursa (job #1375852)
#include <stdio.h>
#include <stdlib.h>
int energ[10000001];
int main(){
FILE *fin, *fout;
int n, w, i, nre, nrc, min, j, abc;
fin=fopen("energii.in", "r");
fout=fopen("energii.out", "w");
fscanf(fin, "%d%d", &n, &w);
abc=-1;
for(i=0;i<n;i++){
fscanf(fin, "%d%d", &nre, &nrc);
for(j=5000;j>=0;j--)
if(energ[j]>0)
if(energ[j+nre]==0 || energ[j+nre]>energ[j]+nrc){
if(j+nre>5000)
abc=energ[j]+nrc;
else
energ[j+nre]=energ[j]+nrc;
}
energ[nre]=nrc;
}
min=100000000;
for(i=w;i<5001;i++)
if(min>energ[i] && energ[i]!=0)
min=energ[i];
if(min!=100000000)
fprintf(fout, "%d", min);
else
fprintf(fout, "%d", abc);
fclose(fin);
fclose(fout);
return 0;
}