Pagini recente » Cod sursa (job #651486) | Cod sursa (job #2426249) | Cod sursa (job #722689) | Cod sursa (job #2380219) | Cod sursa (job #277261)
Cod sursa(job #277261)
#include <stdio.h>
#define DIM 1002
#define INF 10002
long v[5*DIM],c[5*DIM],s[100*DIM];
long n,w,i,j,pMax,min;
FILE *f = fopen("energii.in", "r");
FILE *g = fopen("energii.out", "w");
int main(){
fscanf(f,"%ld %ld",&n,&w);
for (i=1; i<=n; i++)
fscanf(f,"%ld %ld",&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,"%ld",min);
fclose(f);
fclose(g);
return 0;
}