Cod sursa(job #967047)

Utilizator gbi250Gabriela Moldovan gbi250 Data 26 iunie 2013 23:27:31
Problema Dezastru Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include <cstdio>
#define size 26

using namespace std;
int n, k, i, p, st[size];
float v[size], sum;

void prob()
{
    float pr=1;
    for(int i=1;i<=k;i++)
        pr*=v[st[i]];
    sum+=pr;
    p++;
}

void back(int niv)
{
    for(int i=st[niv-1]+1;i<=n;i++)
    {
        st[niv]=i;
        if(niv==k)
            prob();
        else back(niv+1);
    }
}

int main()
{
    freopen("dezastru.in", "r", stdin);
    freopen("dezastru.out", "w", stdout);
    scanf("%d %d", &n, &k);
    for(i=1;i<=n;i++)
        scanf("%f", &v[i]);
    back(1);
    printf("%6f\n", sum/p);
    return 0;
}