Cod sursa(job #2026914)

Utilizator patcasrarespatcas rares danut patcasrares Data 25 septembrie 2017 12:36:39
Problema Dezastru Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include<fstream>
using namespace std;
ifstream fin("dezastru.in");
ofstream fout("dezastru.out");
int n,k;
long double x[35],s,t,nr;
int y[35];
void ve(int poz)
{
    if(poz==n+1)
    {
        nr++;
        s+=t;
        return;
    }
    for(int i=1;i<=n;i++)
        if(!y[i])
        {
            y[i]=1;
            if(poz<=k)
                t*=x[i];
            ve(poz+1);
            y[i]=0;
            if(poz<=k)
                t/=x[i];
        }
}
int main()
{
    fin>>n>>k;
    t=1;
    for(int i=1;i<=n;i++)
        fin>>x[i];
    ve(1);
    fout<<s/nr;
}