Cod sursa(job #1906743)

Utilizator traian1999traian antonovici traian1999 Data 6 martie 2017 16:08:08
Problema Dezastru Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <iostream>
#include <fstream>
#include <algorithm>
#include <iomanip>
using namespace std;
ifstream f ("dezastru.in");
ofstream g("dezastru.out");
double a[30];
int b[30];
void citire(int &n,int &k,double a[30])
{
    f>>n>>k;
    int i;
    for(i=1;i<=n;i++)
        {

            f>>a[i];
            b[i]=i;
        }
}
long long factorial(int x)
{
    int i;
    int p=1;
    for(i=1;i<=x;i++)
        p=p*i;
        return p;
}
int main()
{
    int n,k,i;
    citire(n,k,a);
    double s,sum;
    s=0;
    long long  jbang=factorial(n);
    do{
        sum=1;
        for(i=1;i<=k;i++)
        {
            sum=sum*a[b[i]];
        }
        s=s+sum/jbang;

    }while(next_permutation(b+1,b+n+1));
  g<<setprecision(6)<<s;
    return 0;
}