Pagini recente » Cod sursa (job #3004924) | Cod sursa (job #1502293) | Cod sursa (job #1104886) | Cod sursa (job #170266) | Cod sursa (job #1681976)
#include <cstdio>
#define DIM 30
using namespace std;
double v[DIM];
int n, k, var;
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.0 );
printf("%.6lf",v[0]/(var*1.0));
return 0;
}