Pagini recente » Cod sursa (job #3232087) | Cod sursa (job #1826760) | Cod sursa (job #1901882) | Cod sursa (job #789337) | Cod sursa (job #402797)
Cod sursa(job #402797)
#include<cstdio>
const int maxn = 30;
int i , j , k , n;
double prob[maxn] , total , part ,act;
int s[maxn];
void calc () {
int i;
double rez = 1;
for ( i = 1 ; i <= k ; ++i ){
//printf("%lf ",prob[s[i]]);
rez *= prob[s[i]];
}
//printf("\n");
total += rez;
}
void back (int p) {
int i;
if ( p == k + 1) calc();
else {
for ( i = s[p - 1] + 1; i <= n ; ++i ) {
s[p] = i;
back (p + 1);
}
}
}
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",&prob[i]);
back(1);
for (i = k + 1; i <= n ; ++i )
total /= i;
printf("%.7lf\n",total);
return 0;
}