Cod sursa(job #1744471)

Utilizator leraValeria lera Data 19 august 2016 20:58:37
Problema Dezastru Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <iostream>
#include <fstream>
using namespace std;
 ifstream fin("dezastru.in");
 ofstream fout("dezastru.out");
 //fac combinari
int t,n,v[26];
long long ns=0;
float sum=0,rs,a[26];
long long pfact=1;

 int solutie(int k)
 {
     if(k==t)
        return 1;
     return 0;
 }
 void Bk(int k,float p)
 {
     for(int i=v[k-1]+1;i<=n-t+k;i++)
     {
         v[k]=i;
         if(solutie(k))
                 sum=sum+pfact*p*a[v[k]];
         else
            Bk(k+1,p*a[v[k]]);

     }

 }
int main()
{
   fin>>n>>t;
    for(int i=1;i<=n;i++)
        fin>>a[i];
    for(int i=1;i<=t;i++)
        pfact*=i;
    v[1]=1;
    Bk(1,1);
    for(int i=t+1;i<=n;i++)
    pfact*=i;
   rs=(float)sum/pfact;
   fout<<rs;
    return 0;
}