Cod sursa(job #1219406)

Utilizator EpictetStamatin Cristian Epictet Data 14 august 2014 08:12:13
Problema Dezastru Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <fstream>
#include <iomanip>
using namespace std;
ifstream fin("dezastru.in");
ofstream fout("dezastru.out");
int N, K, nr, V[30], fr[30];
double sum, Pb[30];

inline void Gen(int k)
{
    if (k == K + 1)
    {
        double prod = 1;
        for (int i=1; i<=K; i++)
            prod = prod * Pb[V[i]];

        sum += prod;
        nr++;
    }
    else
    {
        for (int i=V[k-1]+1; i<=N; i++)
        {
            V[k] = i;
            Gen(k + 1);
        }
    }
}

int main()
{
    fin >> N >> K;
    for (int i=1; i<=N; i++) fin >> Pb[i];

    Gen(1);

    fout << setprecision(6) << fixed << sum / nr << '\n';
    fout.close();
    return 0;
}