Cod sursa(job #3232769)

Utilizator S80P_ShadeslayerBadarau Andrei S80P_Shadeslayer Data 1 iunie 2024 12:30:12
Problema Dezastru Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <bits/stdc++.h>

using namespace std;

ifstream fin ("dezastru.in");
ofstream fout ("dezastru.out");

int N, K;
double v[30];
int step[30];
double s = 0;
int cnt = 0;
int poz[30];
double p = 1;

void rezolvare(int step)
{
   if(step > K)
   {
       p = 1;
       for(int i = 1; i <= K; i++)
       {
           p = p*v[poz[i]];
       }
       s = s + p;
       cnt++;
       return;
   }

    for(int i = poz[step - 1] + 1; i <= N; i++)
    {
            poz[step] = i;

            rezolvare(step + 1);



    }

}


int main()
{

    fin >> N >> K;
    for(int i = 1; i <= N; i++)
   {
       cin >> v[i];
   }
   rezolvare(1);
   fout << fixed << setprecision(9);
   fout << s / cnt;

    return 0;

}