Cod sursa(job #2504575)

Utilizator MateiAruxandeiMateiStefan MateiAruxandei Data 5 decembrie 2019 11:02:34
Problema Dezastru Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.64 kb
#include <fstream>
#include <iomanip>

using namespace std;

ifstream fin("dezastru.in");
ofstream fout("dezastru.out");

long double v[30], pr = 1, sf, aux;
int lg, n, k;

void bkt(int pas, long double last)
{
    if(lg == k)
    {
        sf += pr;
        return;
    }
    if(pas == n + 1)
        return;
    pr *= v[pas];
    ++lg;
    bkt(pas + 1, pr);
    --lg;
    pr = last;
    bkt(pas + 1, pr);
}

int main()
{
    fin >> n >> k;

    for(int i = 1; i <= n; ++i)
        fin >> v[i];

    bkt(1, 1);

    for(int i = 3; i <= n; ++i)
        sf /= (long double)(i);
    fout << sf << '\n';
    return 0;
}