Cod sursa(job #2525153)

Utilizator betybety bety bety Data 16 ianuarie 2020 20:39:00
Problema Dezastru Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.56 kb
#include <fstream>
#include <iomanip>
using namespace std;
ifstream cin("dezastru.in");
ofstream cout("dezastru.out");
int n,k;
float pb[30],newp,sol,nr;
int v[30];
void construct(int p,float 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(6)<<sol/nr;
    return 0;
}