Pagini recente » Cod sursa (job #1403031) | Cod sursa (job #1729920) | Cod sursa (job #622512) | Cod sursa (job #1455048) | Cod sursa (job #2168306)
#include<cstdio>
#include <bitset>
using namespace std;
int N, p, v[26];
double a[26];
double probabilitate,ct;
void bk(int k)
{
if(k == p + 1)
{
double produs=1;
for(int i = 1; i<= p; ++i)
produs*=a[v[i]];
probabilitate+=produs;
ct++;
}
else
{
for(int x = v[k-1] + 1; x<= N - p + k; ++x)
{
v[k]=x;
bk(k+1);
}
}
}
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);
printf("%f",probabilitate/ct);
return 0;
}