Cod sursa(job #2870109)

Utilizator MihiBluBalau Mihai MihiBlu Data 12 martie 2022 09:30:24
Problema Dezastru Scor 50
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <fstream>
using namespace std;

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

int n, k, cnt;
double a[30], b[10000];
int v[30];
bool u[30];

void adaugare()
{
    double sum=a[v[1]];
    for(int i=2; i<=k; i++)
        sum*=a[v[i]];
    b[++cnt]=sum;
}

void bkt(int x)
{
    for(int i=1; i<=n; i++)
        if(u[i]==0)
    {
        v[x]=i;
        u[i]=1;
        if(x==k)
            adaugare();
        else
            bkt(x+1);
        u[i]=0;
    }
}

int main()
{
    f>>n>>k;
    for(int i=1; i<=n; i++)
        f>>a[i];
    bkt(1);
    double medie=0;
    for(int i=1; i<=cnt; i++)
        medie=medie+b[i];
    g<<(medie*1.000000)/cnt;
    return 0;
}