Cod sursa(job #2678074)

Utilizator Tudor_IIliescu Andrei-Tudor Tudor_I Data 28 noiembrie 2020 09:00:35
Problema Dezastru Scor 30
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <iostream>
#include <fstream>
#include <iomanip>
using namespace std;
ifstream f("dezastru.in");
ofstream g("dezastru.out");
int sol[20],n,k,nr;
float r, a[20];

void afis()
{   float x=1;
    nr++;
    for( int i=1 ; i<=k ; i++ )
    {   x*=a[sol[i]];
    }
    r+=x;
}


void bkt(int pas)
{   int i;
    if(pas==k+1)
    {   afis();
    }
    else
    {   if(k>1) sol[pas]=sol[pas-1];
        else sol[pas]=0;
        while(sol[pas]<n-k+pas)
        {   sol[pas]++;
            bkt(pas+1);
        }
    }
}

int main()
{
    f>>n>>k;
    for(int i=1;i<=n;i++) f>>a[i];
    bkt(1);
    g<<r/nr;
    return 0;
}