Cod sursa(job #1450841)

Utilizator marinaflommarina florentina marinaflom Data 14 iunie 2015 21:08:26
Problema Dezastru Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include<fstream>
using namespace std;
int n,m;
double v[30];
int a[30];
double s;
int nrc;
inline void combinari(const int &k)
{
    if(k==m+1)                ///k ul de acolo e de fapt m ul meu de pe infoarena
    {
        nrc++;
        double p=1;
        for(int i=1; i<=m; i++ )
            p*=v[a[i]];
            s+=p;
        return;
    }
    for(int i=a[k-1]+1; i<=n-m+k; i++)
        {a[k]=i;
        combinari(k+1);}
}
int main()
{
    const int Mircea = 1000000+1;
    ifstream f("dezastru.in");
    ofstream g("dezastru.out");
    f>>n>>m;
    for(int i=1; i<=n; i++)
        f>>v[i];
    f.close();
    combinari(1);
    g<<s/nrc;
    g.close();
    return 0;
}