Cod sursa(job #887710)

Utilizator Theorytheo .c Theory Data 24 februarie 2013 00:41:03
Problema Dezastru Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include<fstream>
#include<iomanip>

using namespace std;

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

const int Eps = 0.000001;

int Sol[26]; int N; int K; double Sum; double V[30]; double A = 1;double Comb;




void Back(int k){

    if(k - 1 == K)
        Sum += A, Comb++;
    else
        for(int i = Sol[k - 1] + 1; i <= N; ++i){
            Sol[k] = i; A *= V[i]; Back(k + 1);A /= V[i];
        }
}

void Read() {

    fin >> N >> K;
    for(int i = 1 ;i <= N; ++i)  fin >> V[i];
}

void Print(){

    fout << fixed << setprecision(6) << Sum/Comb;
}

int main(){

    Read();

    Back(1); Print();

    return 0;
}