Pagini recente » Cod sursa (job #3225776) | Cod sursa (job #3280523) | Cod sursa (job #621914) | Cod sursa (job #2612758) | Cod sursa (job #277257)
Cod sursa(job #277257)
#include <stdio.h>
#define DIM 1002
#define INF 10002
int v[DIM],c[DIM],s[100*DIM];
int n,w,i,j,pMax,min;
FILE *f = fopen("energii.in", "r");
FILE *g = fopen("energii.out", "w");
int main(){
fscanf(f,"%d %d",&n,&w);
for (i=1; i<=n; i++)
fscanf(f,"%d %d",&v[i],&c[i]);
for (i=1; i<=5001; i++)
s[i] = INF;
pMax = 0;
for (i=1; i<=n; i++)
for (j=pMax; j>=0; j--) {
if (s[j]!=INF) {
if (s[j+v[i]] > s[j]+c[i])
s[j+v[i]] = s[j]+c[i];
}
if (j+v[i] > pMax)
pMax = j+v[i];
}
min = INF;
for (i=1; i<=5001; i++)
if (s[i] < min && s[i] >= w)
min = s[i];
fprintf(g,"%d",min);
fclose(f);
fclose(g);
return 0;
}