Pagini recente » Cod sursa (job #1172684) | Rating Ana Mihai (ana_mihai) | Cod sursa (job #1162443) | Cod sursa (job #2072828) | Cod sursa (job #438069)
Cod sursa(job #438069)
#include <stdio.h>
#define D double
int N, K;
D prob[26];
D S = 0;
long long fact = 0;
void back (int k, D x, int last)
{
if (k == K + 1)
{
S += x;
fact ++;
}
else
{
for (register int i = last + 1; i <= N - K + k; ++i)
back(k + 1, x * prob[i], i);
}
}
int main()
{
freopen ("dezastru.in", "r", stdin);
freopen ("dezastru.out", "w", stdout);
scanf("%d %d", &N, &K);
for (register int i=1; i<=N; i++)
scanf("%lf", &prob[i]);
back(1, 1, 0);
printf("%6lf", S / fact);
fclose(stdin);
fclose(stdout);
return 0;
}