Cod sursa(job #1815559)

Utilizator CriistinaMicula Cristina Criistina Data 25 noiembrie 2016 14:06:42
Problema Dezastru Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <iostream>
#include <iomanip>
#include <fstream>
#include <algorithm>
#include <vector>

using namespace std;
ifstream f("dezastru.in");
ofstream g("dezastru.out");

int n, k;
double v[26], p, nr;
vector <bool> ord;

int main()
{
    f>>n>>k;
    for(int i=1;i<=n;i++)
        f>>v[i];
    for(int i=0;i<n;i++)
        if(i<k)
            ord.push_back(0);
        else ord.push_back(1);
    do
    {
        float x=1;
        for(int i=0;i<n;i++)
            if(ord[i]==0)
            {
                x=x*v[i+1];
            }
        p+=x;
        nr++;
    }while(next_permutation(ord.begin(), ord.end()));
    p=p/nr;
    g<<setprecision(6)<<p;
    return 0;
}