Pagini recente » Cod sursa (job #1982370) | Cod sursa (job #2947255) | Cod sursa (job #2930043) | Cod sursa (job #1484757) | Cod sursa (job #1681983)
#include <cstdio>
using namespace std;
double v[30];
int n, k, var;
inline void backtracking( int niv, int last, double prob ){
int i;
if( niv > k ){
v[0] += prob;
var++;
return ;
}
for( i = last + 1; i <= n - k + niv; ++i ){
backtracking( niv + 1, i, prob * v[i] );
}
}
int main()
{
freopen("dezastru.in","r",stdin);
freopen("dezastru.out","w",stdout);
int i, j;
scanf("%d%d",&n,&k);
for( i = 1; i <= n; ++i ){
scanf("%lf",&v[i]);
}
backtracking( 1, 0, 1 );
printf("%.6lf",v[0]/(var*1.0));
return 0;
}