Pagini recente » Cod sursa (job #2330563) | Cod sursa (job #1012990) | Cod sursa (job #368728) | Cod sursa (job #1502925) | Cod sursa (job #1325441)
#include <iostream>
#include <fstream>
#include <stdio.h>
using namespace std;
int n,k,total;
double d,dez[26];
void rez(int acum,int panaacum,double produs)
{
register int i;
if (acum==k)
{
d+=produs;
total++;
}
else
{
for (i=panaacum+1;k-acum<=n-i+1;i++)
{
rez(acum+1,i,produs*dez[i]);
}
}
}
int main()
{
freopen("dezastru.in", "rt", stdin);
freopen("dezastru.out", "wt", stdout);
int i,j;
scanf("%d %d", &n, &k);
for (i = 1; i <= n; i++)
scanf("%lf", dez + i);
rez(0,0,1);
printf("%.6lf\n", d / total);
return 0;
}