Pagini recente » Cod sursa (job #3204962) | Cod sursa (job #2303737) | Cod sursa (job #1411012) | Cod sursa (job #1146726) | Cod sursa (job #391404)
Cod sursa(job #391404)
#include <cstdio>
#define NMAX 30
#define KMAX NMAX
int N,K;
float val[NMAX];
float a[NMAX][KMAX];
long long fact[NMAX][KMAX];
void citire()
{
scanf("%d %d",&N,&K);
for(int i=1;i<=N;i++)
scanf("%f",&val[i]);
}
void combinari()
{
for(int i=1;i<=N;i++)
fact[i][1]=i;
for(int i=1;i<=N;i++)
for(int j=2;j<=K;j++)
fact[i][j]=i*fact[i-1][j-1]/j;
}
void constructie()
{
for(int i=1;i<=N;i++)
{
a[i][1]=a[i-1][1]+val[i];
for(int j=2;j<=K;j++)
a[i][j]=a[i-1][j-1]*val[i]+a[i-1][j];
}
}
int main()
{
freopen("dezastru.in","r",stdin);
freopen("dezastru.out","w",stdout);
citire();
combinari();
constructie();
printf("%f",a[N][K]/fact[N][K]);
return 0;
}