Cod sursa(job #867981)
| Utilizator | Data | 30 ianuarie 2013 15:28:30 | |
|---|---|---|---|
| Problema | Dezastru | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.52 kb |
#include <iostream>
#include <fstream>
#include <iomanip>
using namespace std;
ifstream fin("dezastru.in");
ofstream fout("dezastru.out");
int n, k, i, j;
double c=1, v[30][30], p[30];
int main()
{
fin>>n>>k;
for(i=1;i<=n;i++)
{
fin>>p[i];
v[0][i]=1.0;
}
for(i=1; i<=n; i++)
for(j=1; j<=i; j++)
v[i][j]=v[i][j-1]+v[i-1][j-1]*p[j];
for(int i=k+1; i<=n; i++)
c*=i;
for(int i=1; i<=(n-k); i++)
c/=i;
fout<<setprecision(7)<<v[k][n]/c<<'\n';
return 0;
}
