Pagini recente » Cod sursa (job #2216463) | Cod sursa (job #1696186) | Cod sursa (job #130741) | Cod sursa (job #2227646) | Cod sursa (job #1411940)
#include <fstream>
#include <iomanip>
using namespace std;
ifstream fin("dezastru.in");
ofstream fout("dezastru.out");
int n, N, i, maxi,j,k;
double v[30], m[30][30];
long double a=1,c=1;
int mini(int a,int b)
{
if(a<b)
return a;
else return b;
}
int main()
{
fin >> n >> k;
for(i = 1; i <= n; ++i)
fin >> v[i];
for(i = 0; i <= n; ++i)
m[i][0] = 1;
for(i = 1; i <= n; ++i)
{
maxi = mini(k,i);
for(j = 1;j <= maxi; ++j)
m[i][j] = m[i-1][j-1]*v[i]+m[i-1][j];
}
for(i = n-k+1; i <= n; ++i)
a*= i;
for(i = 1; i <= k; ++i)
c*= i;
c = a/c;
fout <<fixed << setprecision(6)<< m[n][k]/c;
return 0;
}