Cod sursa(job #2692844)

Utilizator Botzki17Botocan Cristian-Alexandru Botzki17 Data 3 ianuarie 2021 22:47:38
Problema Dezastru Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <bits/stdc++.h>

using namespace std;
ifstream fin("dezastru.in");
ofstream fout("dezastru.out");
const int NMAX = 25;
double dp[NMAX+5];
double v[NMAX+5];
double sol;
int viz[NMAX+5];
int k, cnt, n;
void backt(int p)
{
  if( p == k + 1)
  {
      sol = sol + dp[p-1];
      cnt++;
      return;
  }
  for(int i =viz[p-1] + 1; i <=n;i++)
  {
        viz[p] = i;
        dp[p] = dp[p-1] * v[i];
        backt(p + 1);
  }
}


int main()
{
    int i;
    fin>>n>>k;
    for(int i =1; i<=n;i++)
        fin>>v[i];
    dp[0] = 1.0;
    backt(1);
    fout<<fixed<<showpoint;
    fout<<setprecision(17);
    sol = sol/ (1.0 * cnt);
    fout<<sol;


    return 0;
}