Cod sursa(job #1723744)

Utilizator BlackNestaAndrei Manaila BlackNesta Data 1 iulie 2016 14:46:44
Problema Dezastru Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.77 kb
#include <bits/stdc++.h>

using namespace std;

int n, k, b[30], p;
float a[30], s, sol[30];

void Citire()
{
    ifstream f("dezastru.in");
    f >> n >> k;
    for(int i = 1; i <= n; i++)
        f >> a[i];
    f.close();
}

void Calculez()
{
    s = 1;
    for(int i = 1; i <= k; i++)
        s *= a[b[i]];
    sol[++p] = s;
}

void Generare(int top)
{
    if(top == k + 1) Calculez();
    else
    for(int i = b[top - 1] + 1; i <= n; i++)
    {
        b[top] = i;
        Generare(top + 1);
    }
}

void Afisez()
{
    s = 0;
    for(int i = 1; i <= p; i++)
        s += (sol[i] / p);
    ofstream g("dezastru.out");
    g << s << "\n";
    g.close();
}

int main()
{
    Citire();
    Generare(1);
    Afisez();
    return 0;
}