Pagini recente » Cod sursa (job #426854) | Cod sursa (job #1211872) | Monitorul de evaluare | Cod sursa (job #1178077) | Cod sursa (job #1488367)
#include <stdio.h>
#define MAX 30
long long nr;
int n, k, i, val[MAX];
double prob, ploc[MAX], p[MAX];
void comb(int x);
int main(){
freopen("dezastru.in", "r", stdin);
freopen("dezastru.out", "w", stdout);
scanf("%d%d", &n, &k);
for(i = 1; i <= n; i++)
scanf("%lf", &p[i]);
ploc[0] = 1;
comb(1);
printf("%lf\n", prob / nr);
return 0;
}
void comb(int x){
int i;
if(x == k + 1){
prob += ploc[k];
nr++;
return;
}
for(i = val[x - 1] + 1; i <= n + x - k; i++){
val[x] = i;
ploc[x] = ploc[x - 1] * p[val[x]];
comb(x + 1);
}
}