Pagini recente » Cod sursa (job #1114701) | Cod sursa (job #1760013) | Cod sursa (job #1737539) | Cod sursa (job #2904007) | Cod sursa (job #1153122)
#include <fstream>
#include <iomanip>
#define NMAX 28
#define KMAX 28
using namespace std;
double s[NMAX][KMAX], a[NMAX];
int i, j, n, k;
long long c;
ifstream f("dezastru.in");
ofstream g("dezastru.out");
int main()
{
f>>n>>k;
for (i=1; i<=n; ++i)
f>>a[i];
for (i=0; i<=n; ++i)
s[i][0]=1;
for (i=1; i<=n; ++i)
for (j=1; j<=i && j<=k; ++j)
s[i][j]=s[i-1][j]+a[i]*s[i-1][j-1];
c=1;
if (k>n-k) {
for (i=k+1; i<=n; ++i)
c*=i;
for (i=2; i<=n-k; ++i)
c/=i;
}
else {
for (i=n-k+1; i<=n; ++i)
c*=i;
for (i=2; i<=k; ++i)
c/=i;
}
g<<fixed<<setprecision(6)<<s[n][k]/c;
return 0;
}