Cod sursa(job #1933767)

Utilizator dragos231456Neghina Dragos dragos231456 Data 20 martie 2017 22:07:46
Problema Dezastru Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.96 kb
#include <iostream>
#include <fstream>
#include <iomanip>
using namespace std;
ifstream f("dezastru.in");
ofstream g("dezastru.out");
int n,k,v[30],d,l;
double val[30],rez[100003],s;
int main()
{
    f>>n>>d;
    for(int i=1;i<=n;++i)
    {
        f>>val[i];
    }
    k=1;
    while(k>0)
    {
        if(v[k]<n)
        {
            ++v[k];
            if(k==d)
            {
                ++l;
                rez[l]=1;
                for(int i=1;i<=k;++i)
                {
                    rez[l]*=val[v[i]];
                }
            }
            else
            {
                ++k;
                v[k]=v[k-1];
            }
        }
        else
        {
            --k;
        }
    }
    for(int i=1;i<=l;++i)
    {
        s+=rez[i];
    }
    for(int i=1;i<=d;++i)
    {
        s*=i;
    }
    for(int i=n-d+1;i<=n;++i)
    {
        s/=i;
    }
    g<<setprecision(6)<<s;
    return 0;
}