Pagini recente » Cod sursa (job #3211254) | Cod sursa (job #1207723) | Cod sursa (job #1968183) | Cod sursa (job #2141585) | Cod sursa (job #2690238)
#include <bits/stdc++.h>
using namespace std;
ifstream f("dezastru.in");
ofstream g("dezastru.out");
int v[26];
int n, m, l;
double a[26];
long double sum;
void afis(){
long double cost = a[v[1]];
for(int i = 2;i <= m;i++)
cost *= a[v[i]];
sum += (2 * cost);
l += 2;
}
void back(int k){
for(int i = v[k - 1] + 1;i <= n;i++){
v[k] = i;
if(k == m) afis();
else back(k + 1);
}
}
int main(){
f >> n >> m;
for(int i = 1;i <= n;i++)
f >> a[i];
back(1);
g << fixed << setprecision(6) << sum / l;
}