Cod sursa(job #2045053)

Utilizator ciocirlanrCiocirlan Robert ciocirlanr Data 21 octombrie 2017 19:01:44
Problema Dezastru Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <bits/stdc++.h>
using namespace std;
#define NMAX 26
ifstream in("dezastru.in");
ofstream out("dezastru.out");

vector <int> v;
int N,K;
double S;
double prob[NMAX];

int nr_perm(int N) {
    int P = 1;
    for(int i = 1; i <= N; ++i) P*=i;
    return P;
}
int main(){

    in >> N >> K;
    for(int i = 1; i <= N; ++i)
        in >> prob[i];

    int sol = nr_perm(N);

    for(int i = 1; i <= N; ++i)
        v.push_back(i);

    do {
        double P = 1;
        for(int i = 0; i < K; ++i)
            P*=prob[v[i]];
        S+= P/sol;

    }while(next_permutation(v.begin(),v.end()));

    out << S;


    return 0;
}