Pagini recente » Cod sursa (job #932376) | Cod sursa (job #2397769) | Cod sursa (job #1292227) | Cod sursa (job #2258448) | Cod sursa (job #2234858)
#include <cstdio>
#define max(a, b) (a>b?a:b)
using namespace std;
int N, K, i, p, q;
float List[26][26];
long long int C;
int main(){
freopen("dezastru.in", "r", stdin);
freopen("dezastru.out", "w", stdout);
scanf("%d%d", &N, &K);
for(i=1; i<=N; i++) {scanf("%f", &List[i][0]); List[i][1]=List[i][0]+List[i-1][1];}
C=1;
p=max(K, N-K);
q=N-p;
for(i=p+1; i<=N; i++)C*=i;
for(i=q; i>=2; i--)C/=i;
i=2;
for(p=2; p<=K; p++){
for(q=i; q<=N; q++){
List[q][p]=List[q-1][p]+List[q-1][p-1]*List[q][0];
}
}
List[N][K]/=C;
printf("%.6f", List[N][K]);
return 0;
}