Pagini recente » Cod sursa (job #419635) | Cod sursa (job #2309546) | Cod sursa (job #3171292) | Cod sursa (job #1062854) | Cod sursa (job #218080)
Cod sursa(job #218080)
#include<stdio.h>
int n,m,sol[26];
long long nr = 0;
double a[26], s, p;
void back(int k, double p, int ant) {
int fin = n - m + k;
double p1;
for(int i = ant + 1; i <= fin; ++i) {
p1 = p * a[i];
if(k == m) {
s += p1;
++nr;
}
else
back(k+1, p1, i);
}
}
void citire() {
freopen("dezastru.in","r",stdin);
scanf("%d %d", &n,&m);
for(int i = 1; i <= n; ++i)
scanf("%lf", &a[i]);
}
int main() {
citire();
back(1, 1, 0);
freopen("dezastru.out","w",stdout);
printf("%lf", s / nr);
return 0;
}