Pagini recente » Monitorul de evaluare | Cod sursa (job #133744) | Istoria paginii utilizator/eugenstoica | Circulatie | Cod sursa (job #1767056)
#include <fstream>
#include <iostream>
#include <iomanip>
using namespace std;
ifstream f("dezastru.in");
ofstream g("dezastru.out");
float S[26][26], A[26], P, D = 1;
int N, K;
int main(){
int i, j;
f >> N >> K;
for (i = 1; i <= N; ++i) f >> A[i], S[i][0] = 1;
S[1][1] = A[1];
for (i = 2; i <= N; ++i){
for (j = 1; j <= i; ++j)
S[i][j] = S[i-1][j] + S[i-1][j-1]*A[i];
}
P = S[N][K];
for (i = 2; i <= K; ++i) D/=i;
for (i = N-K+1; i <= N; ++i) D*=i;
g << setprecision(6) << P/D << '\n';
}