Pagini recente » Cod sursa (job #1835854) | Cod sursa (job #2583654) | Cod sursa (job #3273230) | Cod sursa (job #1849001) | Cod sursa (job #1844978)
#include <bits/stdc++.h>
#define NMax 26
using namespace std;
ifstream f("dezastru.in");
ofstream g("dezastru.out");
double a[NMax];
double dp[NMax][NMax];
double sum;
int n,k;
int main()
{
f >> n >> k;
for(int i = 1; i <= n; ++i)
f >> a[i];
for(int i = 1; i <= n; ++i){
dp[1][i] = a[i];
for(int j = n - k + 1; j <= n; ++j){
dp[1][i] /= j;
}
}
for(int i = 2; i <= n; ++i){
for(int j = i; j <= n; ++j){
for(int k = 1; k < j; ++k){
dp[i][j] += (a[j] * dp[i - 1][k]);
}
}
}
for(int i = k; i <= n; ++i){
sum += dp[k][i];
}
for(int i = 1; i <= k; ++i){
sum *= i;
}
g << fixed << setprecision(6) << 1.0*sum << '\n';
return 0;
}