Cod sursa(job #3292079)

Utilizator alexdraguAlexandru Dragu alexdragu Data 7 aprilie 2025 08:21:49
Problema Dezastru Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <fstream>

using namespace std;
ifstream fin("dezastru.in");
ofstream fout("dezastru.out");
double sum,v[30];
int n,q,i,st[30],viz[30],cnt;
void verif()
{
    int i;
    cnt++;
    double p=1.0;
    for(i=1;i<=q;i++)
    {
        p=p*v[st[i]];
    }
    sum+=p;
}
void bkt(int k)
{
    int i;
    for(i=st[k-1]+1;i<=n;i++)
    {
        if(viz[i]==0)
        {
            viz[i]=1;
            st[k]=i;
            if(k==q) verif();
            else bkt(k+1);
            viz[i]=0;
        }
    }
}
int main()
{
    fin>>n>>q;
    for(i=1;i<=n;i++)
    {
        fin>>v[i];
    }
    bkt(1);
    //for(i=1;i<=n;i++) sum=1.0*sum/i;
    fout<<sum/cnt;
    return 0;
}