Pagini recente » Cod sursa (job #501220) | Monitorul de evaluare | Cod sursa (job #3135717) | Cod sursa (job #1901708) | Cod sursa (job #3303249)
#include <bits/stdc++.h>
#define NMAX 27
using namespace std;
ifstream fin("dezastru.in");
ofstream fout("dezastru.out");
int N,K;
long double arr[NMAX];
int a[NMAX];
long double ans,coef;
void afis()
{
long double prod=1;
for(int i=1;i<=K;i++){
// cout << a[i] << " ";
prod*=arr[a[i]];
}
// cout << "\n";
ans+=prod;
return;
}
void combi(int k=0,int last=0)
{
if(k==K){
afis();
return;
}
k++;
for(int i=last+1;i<=N;i++){
a[k]=i;
combi(k,i);
a[k]=0;
}
return;
}
int main()
{
ios::sync_with_stdio(0);
cin.tie(0); cout.tie(0);
fin >> N >> K;
for(int i=1;i<=N;i++){
fin >> arr[i];
}
coef=1;
for(int i=K+1;i<=N;i++){
coef*=i;
}
combi();
fout << fixed << setprecision(6)<< ans/coef;
return 0;
}