Pagini recente » Cod sursa (job #1623210) | Cod sursa (job #1217545) | Cod sursa (job #1260014) | Cod sursa (job #1633206) | Cod sursa (job #218075)
Cod sursa(job #218075)
#include<stdio.h>
int n,m,sol[26];
long long nr = 0;
double a[26], s, p;
void back(int k, double p) {
int fin = n - m + k;
double p1;
for(int i = sol[k-1] + 1; i <= fin; i++) {
sol[k] = i;
p1 = p * a[i];
if(k == m) {
s += p1;
nr++;
}
else
back(k+1, p1);
}
}
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);
freopen("dezastru.out","w",stdout);
printf("%lf", s / nr);
return 0;
}