Pagini recente » Cod sursa (job #1213832) | Cod sursa (job #1468581) | Cod sursa (job #661401) | Cod sursa (job #705963) | Cod sursa (job #1033737)
#include<stdio.h>
#define min(a,b) (a<b)?a:b
int n=0,E=0;
int c[1002]={0};
int e[1002]={0};
int u[1002]={0};
int best = 32767;
void msum()
{
int m=0;
for(int i=0;i<n;++i) (u[i])?m+=c[i]:m+=0;
if(m<best) best = m;
}
int gen(int i,int s,int *c,int *e)
{
if(i<0) return 32767;
if(s>=E) {msum();return 32767;};
int b=0,j=0;
u[i]=1;
b = gen(i-1,s+e[i],c,e);
u[i]=0;
j = gen(i-1,s,c,e);
return min(b,j);
}
int main()
{
freopen("energii.in","r",stdin);
freopen("energii.out","w",stdout);
scanf("%i%i",&n,&E);
for(int i=0;i<n;i++)scanf("%i%i",e+i,c+i);
gen(n-1,0,c,e);
printf("%i",best);
return 0;
}