Pagini recente » Cod sursa (job #798904) | Cod sursa (job #2611165) | Cod sursa (job #1595419) | Cod sursa (job #2329975) | 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;
}