Cod sursa(job #1819204)
Utilizator | Data | 30 noiembrie 2016 13:09:07 | |
---|---|---|---|
Problema | Dezastru | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.52 kb |
#include <stdio.h>
double v[26], d[26][26], c[26][26];
int main(){
FILE*fi,*fo;
fi=fopen("dezastru.in","r");
fo=fopen("dezastru.out","w");
int n, k;
fscanf(fi,"%d%d", &n, &k);
for(int i=1;i<=n;i++) fscanf(fi,"%lf", &v[i]);
for(int i=0;i<=n;i++) d[i][0]=c[i][0]=1.0;
for(int i=1;i<=n;i++)
for(int j=1;j<=k;j++){
d[i][j]=d[i-1][j]+d[i-1][j-1]*v[i];
c[i][j]=c[i-1][j]+c[i-1][j-1];
}
fprintf(fo,"%.6lf", d[n][k]/c[n][k]);
return 0;
}