Pagini recente » Cod sursa (job #2947572) | Cod sursa (job #2892496) | Cod sursa (job #707042) | Cod sursa (job #247482) | Cod sursa (job #148031)
Cod sursa(job #148031)
#include <stdio.h>
#define DIM 1002
#define INF 100000000
int c[DIM],e[DIM];
int v[DIM*5];
int n,w,max,i,j;
int func(int x){
if (x>w) return w;
else return x;
}
int main(){
FILE *f = fopen("energii.in","r");
fscanf(f,"%d %d",&n,&w);
for (i=1;i<=n;i++)
fscanf(f,"%d %d",&e[i],&c[i]);
fclose(f);
v[0]=0;
for (i=1;i<=DIM*5-2;i++)
v[i]=INF;
for (i=1;i<=n;i++)
for (j=w;j>=0;j--)
if ((v[j]!=INF)&&(v[func(j+e[i])]>v[j]+c[i]))
v[func(j+e[i])] = v[j]+c[i];
FILE *g = fopen("energii.out","w");
if (v[w]==INF)
fprintf(g,"%d",-1);
else
fprintf(g,"%d",v[w]);
fclose(g);
return 0;
}