Cod sursa(job #2704781)

Utilizator RaresPoinaruPoinaru-Rares-Aurel RaresPoinaru Data 11 februarie 2021 11:34:07
Problema Dezastru Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <fstream>
#include <iomanip>
using namespace std;
ifstream fin ("dezastru.in");
ofstream fout ("dezastru.out");
double v[500000],p;
int kr,v2[50000],j;
void solve (int n, int k, double produs)
{
    if (k>0)
    {
        for (int i=v2[kr-k]+1;i<=n;++i)
        {
            v2[kr-k+1]=i;
            solve (n,k-1,produs*v[i]);
        }
    }
    else
    {
        p+=produs;
        j++;
    }
}
int main()
{
    double s=0;
    int n,k;
    fin >>n>>k;
    kr=k;
    for (int i=1;i<=n;++i)
    {
        fin >>v[i];
    }
    solve (n,k,1);
    p=p/(double)j;
    fout <<fixed<<setprecision (6)<<p;
    fin.close ();
    fout.close ();
    return 0;
}