Cod sursa(job #1742465)

Utilizator flaviu_2001Craciun Ioan-Flaviu flaviu_2001 Data 16 august 2016 15:00:20
Problema Dezastru Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <fstream>
#include <algorithm>
#include <vector>

using namespace std;

int n, k, v[30];
double r[30];
vector<double> a;

void read();
double solve();
void write();

int main(){
    read();
    write();
    return 0;
}

void read(){
    ifstream fin ("dezastru.in");
    fin >> n >> k;
    for (int i = 1; i <= n; ++i)
        fin >> r[i],
        v[i] = i;
    fin.close();
}

double solve(){
    double x, s(0);
    int t(0);
    do{
        x = 1;
        for (int i = 1; i <= k; ++i)
            x *= r[v[i]];
        s += x;
        ++t;
    }while(next_permutation(v+1, v+n+1));
    return s/t;
}

void write(){
    ofstream fout ("dezastru.out");
    fout << solve();
    fout.close();
}