Pagini recente » Cod sursa (job #2773124) | Cod sursa (job #311012) | Rezultatele filtrării | Cod sursa (job #2325458) | Cod sursa (job #1481304)
#include<stdio.h>
int n,k,i,j;
double p[26],a[26],b[26],c[26];
double C(int n,int k) { return n==k||!k?1:C(n-1,k)+C(n-1,k-1); }
int main() {
freopen("dezastru.in","r",stdin),freopen("dezastru.out","w",stdout),scanf("%d%d",&n,&k);
for(i=1;i<=n;i++)
scanf("%lf",&p[i]),c[i]=1;
for(c[0]=i=1;i<=k;i++) {
for(j=i;j<=n;j++)
a[j]=b[j-1]+c[j-1]*p[j];
for(j=i;j<=n;j++)
c[j]=b[j],b[j]=a[j];
}
printf("%.6lf",a[n]/C(n,k));
}