Cod sursa(job #1450930)
Utilizator | Data | 15 iunie 2015 11:09:55 | |
---|---|---|---|
Problema | Dezastru | Scor | 0 |
Compilator | c | Status | done |
Runda | Arhiva de probleme | Marime | 0.57 kb |
#include <stdio.h>
#define MAXN 25
double p[MAXN];
double sum = 0.0;
int nr = 0;
inline void calc(int n, int k, double pr){
if(k == 0){
sum += pr;
nr++;
}
else{
int i;
for(i = n; i >= k - 1; i--)
calc(i - 1, k - 1, pr * p[i]);
}
}
int main(){
FILE *in = fopen("dezastru.in", "r");
int n, k, i;
fscanf(in, "%d%d", &n, &k);
for(i = 0; i < n; i++)
fscanf(in, "%lf", &p[i]);
fclose(in);
calc(n - 1, k, 1.0);
FILE *out = fopen("dezastru.out", "w");
fprintf(out, "%lf", sum / nr);
fclose(out);
return 0;
}