Cod sursa(job #1142963)

Utilizator span7aRazvan span7a Data 14 martie 2014 14:30:14
Problema Dezastru Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include<fstream>
#include<iomanip>
using namespace std;
ifstream f("dezastru.in");
ofstream g("dezastru.out");
short a[26],n,k;
long long nr;
double pr[26];
double p;long double sol=0;
void combinari(int i)
{
    if(i>k)
    {   p=1;
        for(int j=1;j<=k;j++)
            p=p*pr[a[j]];
            //g<<p<<" ";
        sol=sol+p;
        nr++;
    }
    else
        for(int j=a[i-1]+1;j<=n-k+i;j++)
        {
            a[i]=j;
            combinari(i+1);
        }
}
int main()
{   int i;
    f>>n>>k;
    for(i=1;i<=n;i++)f>>pr[i];
    combinari(1);
    g<<fixed<<setprecision(6)<<sol/nr;
    return 0;
}