Pagini recente » Cod sursa (job #738019) | Cod sursa (job #1303140) | Cod sursa (job #1342444) | Cod sursa (job #908945) | Cod sursa (job #218067)
Cod sursa(job #218067)
#include<stdio.h>
int n,m,sol[26];
long long nr = 0;
double a[26], s, p;
void back_iter() {
int k = 1;
sol[k] = sol[k -1];
while (k >0)
if (sol[k] < n - m + k) {
sol[k]++;
if (k == m) {
p = 1;
for(int v = 1; v <= m; v++)
p *= a[sol[v]];
s += p;
nr++;
}
else
sol[++k] = sol[k-1];
}
else
k--;
}
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_iter();
freopen("dezastru.out","w",stdout);
printf("%lf", s / nr);
return 0;
}