Cod sursa(job #2525158)

Utilizator betybety bety bety Data 16 ianuarie 2020 20:41:36
Problema Dezastru Scor 70
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.57 kb
#include <fstream>
#include <iomanip>
using namespace std;
ifstream cin("dezastru.in");
ofstream cout("dezastru.out");
int n,k;
long double pb[30],newp,sol,nr;
int v[30];
void construct(int p,long double prob)
{
    if(p==k+1)
    {
        sol+=prob;
        nr+=1.0;
        return ;
    }
    for(int i=v[p-1]+1;i<=n;++i)
    {
        newp=prob*pb[i];
        v[p]=i;
        construct(p+1,newp);
    }
}
int main()
{
    cin>>n>>k;
    for(int i=1;i<=n;++i)
        cin>>pb[i];
    construct(1,1.0);
    cout<<setprecision(7)<<sol/nr;
    return 0;
}