Pagini recente » Cod sursa (job #2728194) | infoarena - te ajutam sa devii olimpic! | Cod sursa (job #36587) | Cod sursa (job #929903) | Cod sursa (job #1988970)
#include <iostream>
#include <fstream>
#include <iomanip>
using namespace std;
ifstream in ("dezastru.in");
ofstream out ("dezastru.out");
int n , k;
int const nmax = 25;
double p[5 + nmax];
double C[5 + nmax][5 + nmax];
double x[5 + nmax][5 + nmax];
void computecomb(){
for(int i = 0 ; i <= n ;i++){
C[i][0] = 1;
}
for(int i = 1 ; i <= n ;i++){
for(int j = 1 ; j <= k ;j++){
C[i][j] = C[i - 1][j - 1] + C[i - 1][j];
}
}
//cout<<C[3][2];
}
void computex(){
for(int i = 1 ; i <= n ;i++){
x[i - 1][0] = 1;
}
for(int i = 1 ; i <= n ;i++){
for(int j = 1 ; j <= k ;j++){
x[i][j] = x[i - 1][j] + x[i - 1][j - 1] * p[i];
}
}
}
int main()
{
in>>n>>k;
for(int i = 1 ; i <= n ;i++){
in>>p[i];
}
computecomb();
computex();
out<<setprecision(6)<<fixed<<x[n][k] / C[n][k];
return 0;
}