Cod sursa(job #1674424)

Utilizator TimoteiCopaciu Timotei Timotei Data 4 aprilie 2016 17:30:27
Problema Dezastru Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <fstream>
#include <iomanip>
using namespace std;
ifstream f("dezastru.in");
ofstream g("dezastru.out");
int N, K, v[30], el;
long double a[30], p, sum, sol;
void rezolvare()
{
  p = 1;
  for(int i = 1; i <= K; i++)
      p *= a[v[i]];
    sum += p;
    el++;
}
void make_bkt(int k){
    for(int i = v[k - 1] + 1; i <= N; ++i){
         v[k] = i;
        if(k == K) rezolvare();
        else make_bkt(k + 1);
    }
}
int main()
{
    f >> N >> K;
    for(int i = 1; i <= N; i++)
        f >> a[i];
     make_bkt(1);
     sum *= 2;
     el *= 2;
     sol = sum / el;
     g << fixed << setprecision(6) << sol;
    return 0;
}