Pagini recente » Cod sursa (job #677670) | Cod sursa (job #1366629) | Cod sursa (job #2585532) | Cod sursa (job #1826354) | Cod sursa (job #558087)
Cod sursa(job #558087)
#include<stdio.h>
FILE *f=fopen("energii.in", "r");
FILE *g=fopen("energii.out", "w");
int n,x,i,j;
int a[1002];
int b[5002];
int c[5002];
int min(int p, int q){
if (q<p)
return q;
else
return p;
}
int main (){
fscanf(f,"%d %d" ,&n, &x);
c[0]=0;
for (i=1;i<=x;i++){
c[i]=1<<29;
}
for (i=1;i<=n;i++){
fscanf(f, "%d %d", &a[i],&b[i]);
}
for (i=1;i<=n;i++){
for(j=x;j>=0;j--){
if(c[j]!=1<<29){
if (j+a[i]>=x){
c[x]=min(c[x],c[j]+b[i]);
}
else{
c[j+a[i]]=min(c[j+a[i]], c[j]+b[i]);
}
}
}
}
if(c[x]==1<<29)
fprintf(g, "-1");
fprintf(g, "%d", c[x]);
fclose(f);
fclose(g);
return 0;
}