Cod sursa(job #1799508)

Utilizator Johnny07Savu Ioan-Daniel Johnny07 Data 6 noiembrie 2016 13:43:54
Problema Dezastru Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.87 kb
#include <iostream>
#include <fstream>
#include <iomanip>
using namespace std;
ifstream f("dezastru.in");
ofstream g("dezastru.out");
int n,m,nrt,cont;
double a[30],nrsol=0,sol=1;

void Back (int k)
{
    int i;
  if (k<=n)
    {
        for (i=0;i<=1;i++)
        {
            if (i==0 && cont<m)
            {
                sol*=a[k];
                cont++;
                Back(k+1);
               // cout<<k<<" "<<cont<<" ";
                cont--;
              //  cout<<cont<<"\n";
                sol/=a[k];
            }
            Back(k+1);
        }
     }
     else if (cont==m)
     {
       //  cout<<sol<<"\n";
         nrsol+=sol;
         nrt++;
     }

}



int main()
{
    int i;
f>>n>>m;
for (i=1;i<=n;i++)
{
    f>>a[i];
}
cont=0;
Back(1);
nrsol/=nrt;
g<<fixed<<setprecision(6)<<nrsol;


    return 0;
}