Pagini recente » Cod sursa (job #3150665) | Cod sursa (job #1584906) | Cod sursa (job #1773450) | Cod sursa (job #1888029) | Cod sursa (job #1142045)
/// Craciun Catalin
/// Dezastru
/// www.infoarena.ro/problema/dezastru
#include <fstream>
#include <iostream>
#include <iomanip>
#define NMax 30
using namespace std;
ifstream f("dezastru.in");
ofstream g("dezastru.out");
short n,k;
double A[NMax];
double AR[NMax][NMax]; /// Aranjamente
double CO[NMax][NMax]; /// Combinari
int main()
{
f>>n>>k;
for (short i=1;i<=n;i++)
f>>A[i];
f.close();
/// Initializez combinarile si aranjamentele, din cunostiinte de matematica, C de n luate cate 0 = 1, la fel pentru aranjamente
for (short i=0;i<=29;i++)
AR[i][0]=CO[i][0]=1.0;
for (int i = 1; i <= n; ++i)
{
for (int j = 1; j <= k; ++j)
{
AR[i][j]=AR[i-1][j]+AR[i-1][j-1]*A[i];
CO[i][j]=CO[i-1][j]+CO[i-1][j-1];
}
}
g<<fixed<<setprecision(6)<<AR[n][k]/CO[n][k];
g.close();
return 0;
}