Cod sursa(job #1470998)

Utilizator adiXMGemene Adrian adiXM Data 12 august 2015 20:39:08
Problema Dezastru Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <fstream>
#include <iomanip>
using namespace std;
ifstream f("dezastru.in");
ofstream g("dezastru.out");
const int NMAX=26;
int n,x;
double a[NMAX],val=1,total=0;
int viz[NMAX],b[NMAX],p=0;
inline void Read(){

    f>>n>>x;
    for(int i=1;i<=n;i++)
        f>>a[i];
}
inline void Back(int k)
{
    if(k==n+1)
    {
        val=1;
        for(int i=1;i<=x;i++)
            val*=a[b[i]];
        p++;
        total+=val;
        return;
    }
    for(int i=1;i<=n;i++)
        if(viz[i]==0)
        {
            b[k]=i;
            viz[i]=1;
            Back(k+1);
            viz[i]=0;
        }
}
int main()
{
    Read();
    Back(1);
    double sol=total/p;
    g<<setprecision(6)<<fixed<<sol;
    return 0;
}