Cod sursa(job #2035744)

Utilizator Cristi_ChiraChira Cristian Cristi_Chira Data 9 octombrie 2017 19:50:22
Problema Dezastru Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <iostream>
#include <fstream>
#include <map>
#include <climits>
#include <cmath>
#define dm 30
using namespace std;
ifstream fin("dezastru.in");
ofstream fout("dezastru.out");
int checked[dm], n, k, nrp;
double sum , v[dm];
void citire()
{
    fin >> n >> k;
    for(int i = 1; i <= n; i++)
    {
        fin >> v[i];
    }
}
void perm(int niv, double prod, int last)
{
    if(niv > k)
    {
        nrp++, sum+=prod;
        return;
    }
    for(int i = last + 1; i <= abs(n - k + niv); i++)
    {
        perm(niv + 1, prod * v[i], i);
    }
}
int main()
{
    citire();
    perm(1, 1, 0);
    fout << sum/nrp;
    return 0;
}