Cod sursa(job #2133538)

Utilizator CozmaCatalinCozma Catalin CozmaCatalin Data 17 februarie 2018 07:30:58
Problema Dezastru Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <bits/stdc++.h>

using namespace std;

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

const int MAX = 27;

int ST[MAX];

int N,K;

double D[MAX];

int Perm;
double Answer;
double Sum = 0;

inline void Read()
{
   in >> N >> K;

    for ( int i = 1; i <= N ; ++i)
    {
        in >> D[i];

    }
}



void Back(int k , int s , double sum)
{

    if( k > K)
    {
        Sum += sum;
        Answer++;
        return ;
    }
    for ( register int i = s+1 ; i <= N - K + k ; ++i)
    {
        Back(k+1 , i , sum*D[i]);
    }
}

int main()
{


    Read();

    Back(1,0,1);

   out <<fixed << setprecision(6) << (double) Sum/Answer;


}