Cod sursa(job #967049)

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

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

void back(int niv)
{
    for(int i=st[niv-1]+1;i<=n;i++)
    {
        st[niv]=i;
        pr*=v[st[niv]];
        if(niv==k)
            sum+=pr, p++;
        else back(niv+1);
        pr/=v[st[niv]];
    }
}

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;
}