Cod sursa(job #1746442)

Utilizator PaulCbnCiobanu Paul PaulCbn Data 23 august 2016 12:27:57
Problema Dezastru Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <iostream>
#include <cstdio>


using namespace std;

int N,K;
int x[30];
double a[30];
double nr,s;
void afis()
{
    double p=1;
    for(int i=1;i<=K;i++)
        p*=a[x[i]];
    s+=p;
    nr++;
}

void comb(int k)
{
    for(x[k]=k;x[k]<=N;x[k]++)
        if(x[k]>x[k-1])
            if(k==K)
                afis();
            else
                comb(k+1);
}


int main()
{
    freopen("dezastru.in","r",stdin);
    freopen("dezastru.out","w",stdout);
    scanf("%d%d",&N,&K);
    for(int i=1;i<=N;i++)
        scanf("%lf",&a[i]);
    comb(1);
    cout<<s/nr;
    return 0;
}