Pagini recente » Cod sursa (job #1309957) | Cod sursa (job #538079) | Cod sursa (job #2684845) | Cod sursa (job #1744640) | Cod sursa (job #2176546)
#include<bits/stdc++.h>
#define NMAX 50
#define double long double
#define int long long
using namespace std;
int n,K,s[NMAX];
double rs;
double a[NMAX];
int f;
void BT(int k) {
if (k==K+1) {
f++;
double p=1;
for (int i=1; i<=K; i++) {
p*=a[s[i]];
}
rs+=p;
return;
}
for (int i=s[0]+1; i<=n; i++) {
s[k]=i;
s[0]=i;
BT(k+1);
}
}
int32_t main() {
ifstream cin("dezastru.in");
ofstream cout("dezastru.out");
cin>>n>>K;
for (int i=1; i<=n; i++) cin>>a[i];
BT(1);
cout<<fixed<<setprecision(10)<<rs/f;
return 0;
}