Pagini recente » Cod sursa (job #1550712) | Cod sursa (job #2968660) | Cod sursa (job #2243831) | Cod sursa (job #2966565) | Cod sursa (job #2168341)
#include<cstdio>
#include <bitset>
using namespace std;
int N, p;
double a[26];
double probabilitate,ct;
void bk(int k,double sum,int q)
{
if(k == p + 1)
{
probabilitate+=sum;
ct++;
}
else
{
for(register int x = q + 1; x<= N - p + k; ++x)
{
bk(k+1,sum*a[x],x);
}
}
}
int main()
{
freopen("dezastru.in","r",stdin);
freopen("dezastru.out","w",stdout);
scanf("%d%d",&N,&p);
for(int i = 1; i<= N;++i)
scanf("%lf",&a[i]);
bk(1,1,0);
printf("%f",probabilitate/ct);
return 0;
}