Cod sursa(job #251680)
| Utilizator | Data | 3 februarie 2009 01:24:47 | |
|---|---|---|---|
| Problema | Dezastru | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.46 kb |
#include <stdio.h>
double rez,p[30];
int nr,n,m;
void urm(int k, int i, double atac){
if(k==m+1){
rez+=atac;
++nr;
}else
for(;i<=n-m+k;++i)
urm(k+1,i+1,atac*p[i]);
}
int main(){
freopen ("dezastru.in","r",stdin);
freopen ("dezastru.out","w",stdout);
int i;
scanf("%d%d",&n,&m);
for(i=1;i<=n;++i)
scanf("%lf",&p[i]);
urm(1,1,1);
printf("%.6lf",rez/nr);
return 0;
}