Pagini recente » Cod sursa (job #1118655) | Borderou de evaluare (job #2769484) | Cod sursa (job #2429479) | Cod sursa (job #2159117)
#include <fstream>
#include <algorithm>
#include <iomanip>
#define nrmax 26
using namespace std;
ifstream input("dezastru.in");
ofstream print("dezastru.out");
int n,k,nr;
double V[nrmax*nrmax],sum,x;
double DP[nrmax][nrmax];
void citire(){
input>>n>>k;
for(int i=1;i<=n;i++)
input>>V[i];
input.close();
}
int fact(int n){
return (n==1||n==0)?1:n*fact(n-1);
}
void rezolvare(){
for(int i=0;i<=n;i++)
DP[i][0]=1;
for(int i=1;i<=n;i++)
for(int j=1;j<=k;j++)
DP[i][j]=DP[i-1][j]+DP[i-1][j-1]*V[i];
}
int main(){
citire();
rezolvare();
print<<fixed<<setprecision(6)<<DP[n][k]/fact(n)*2;
print.close();
return 0;
}