Pagini recente » Cod sursa (job #2523941) | Cod sursa (job #703896) | Cod sursa (job #752498) | Cod sursa (job #1571789) | Cod sursa (job #2234633)
#include <cstdio>
#define max(a, b) (a>b?a:b)
using namespace std;
int N, K, i, p, q;
float List[26], S;
long long int C;
void Solve(int i, float P, int c){
if(i==K+1) {S+=P; return;}
int j;
for(j=c+1; j<=N; j++) Solve(i+1, P*List[j], j);
return;
}
int main(){
freopen("dezastru.in.in", "r", stdin);
freopen("dezastru.out.out", "w", stdout);
scanf("%d%d", &N, &K);
for(i=1; i<=N; i++) scanf("%f", &List[i]);
C=1;
p=max(K, N-K);
q=N-p;
for(i=p+1; i<=N; i++)C*=i;
for(i=q; i>=2; i--)C/=i;
Solve(1, 1, 0);
S/=C;
printf("%.6f", S);
return 0;
}