Cod sursa(job #2157269)

Utilizator amarghescuAnton Marghescu amarghescu Data 9 martie 2018 14:20:03
Problema Dezastru Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.52 kb
#include<cstdio>
#include<algorithm>
using namespace std;
double v[30][30],p[30];
int main(){
freopen("dezastru.in","r",stdin);
freopen("dezastru.out","w",stdout);
int n,k,i,lim,j;
scanf("%d%d",&n,&k);
for(i=1;i<=n;i++)
scanf("%lf",&p[i]);
v[0][0]=1;
for(i=1;i<=n;i++)
v[i][0]=1;
for(i=1;i<=n;i++)
for(j=1;j<=i;j++)
v[i][j]=v[i-1][j]+v[i-1][j-1]*p[i];
double rasp=v[n][k];
lim=max(k,n-k);
for(i=n;i>lim;i--)
rasp=rasp/(double)i;
for(i=1;i<=n-lim;i++)
rasp=rasp*(double)i;
printf("%.6f\n",rasp);
return 0;}