Cod sursa(job #194415)
| Utilizator | Data | 10 iunie 2008 15:01:57 | |
|---|---|---|---|
| Problema | Dezastru | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.54 kb |
#include<stdio.h>
#define dim 30
#define FIN "dezastru.in"
#define FOUT "dezastru.out"
int n,l,nr;
double a[dim],s,tot;
void read()
{
scanf("%d %d",&n,&l);
for(int i=0;i<n;++i)
scanf("%lf",&a[i]);
}
void back(int k,int poz,double s)
{
if(k==l)
{
tot+=s;
nr++;
return;
}
for(int i=poz;i<n-l+k+1;++i)
back(k+1,i+1,s*a[i]);
}
int main()
{
freopen(FIN,"r",stdin);
freopen(FOUT,"w",stdout);
read();
tot=0;
back(0,0,1);
printf("%.6lf",tot/nr);
return 0;
}
