Pagini recente » Cod sursa (job #1989861) | Cod sursa (job #79541) | Cod sursa (job #1275434) | Cod sursa (job #906384) | Cod sursa (job #1666322)
#include<cstdio>
int t,n,m,i,j,v[20],x[200100];
long long s;
FILE *f,*g;
int main(){
f=fopen("zebughil.in","r");
g=fopen("zebughil.out","w");
t = 3;
while( t-- ){
fscanf(f,"%d%d",&n,&m);
for(i=0;i<n;i++){
fscanf(f,"%d",&v[i]);
}
for(i=1; i < ( 1 << n);i++){
s = 0;
for(j=0;j<n;j++){
if( ( i >> j ) & 1 )
s += v[j];
}
if( s <= m )
x[i] = 1;
else{
x[i] = n + 1;
for(j = ( i - 1 ) & i;j>0; j = ( j - 1 ) & i ){
if( x[i] > x[j] + x[ i ^ j ] )
x[i] = x[j] + x[ i ^ j ];
}
}
}
fprintf(g,"%d\n",x[ ( 1 << n ) - 1 ]);
}
fclose(f);
fclose(g);
return 0;
}