Cod sursa(job #1470936)

Utilizator ciocan_catalinCiocan Catalin - Iulian ciocan_catalin Data 12 august 2015 17:40:29
Problema Dezastru Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <cstdio>

using namespace std;
int n,k,a[30];
long long fact;
double v[30];

int main()
{
    freopen("dezastru.in","r",stdin);
    freopen("dezastru.out","w",stdout);
    int i,j,vmax;
    double prob,prod;
    prob = 0;
    scanf("%d%d",&n,&k);
    for(i=1;i<=n;i++) scanf("%lf",&v[i]);
    for(i=1;i<=k;i++) a[i] = i;
    while(a[0]==0)
    {
        prod = 1;
        for(i=1;i<=k;i++) prod*=v[a[i]];
        fact+=2;
        prob +=(prod);
        prob +=(prod);
        vmax = n;
        i = k;
        while(a[i]==vmax)
        {
            i--;
            vmax--;
        }
        a[i]++;
        for(j=i+1;j<=k;j++) a[j] = a[j-1]+1;
    }
    printf("%.6lf\n",prob/fact);

    return 0;
}