Cod sursa(job #187770)
| Utilizator | Data | 5 mai 2008 13:19:04 | |
|---|---|---|---|
| Problema | Dezastru | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.48 kb |
#include <stdio.h>
long n,k,cant;
double s;
double a[50];
void back(int x, int poz, double sm)
{
if (x==k)
{
s+=sm;
cant++;
return;
}
for (int i=poz; i<=n-k+x+1; i++)
back(x+1,i+1,sm*a[i]);
return;
}
int main()
{
freopen("dezastru.in","r",stdin);
freopen("dezastru.out","w",stdout);
scanf("%ld %ld",&n,&k);
for (int i=1; i<=n; i++)
scanf("%lf",&a[i]);
back(0,1,1);
printf("%.8lf",s/cant);
fclose(stdin);
fclose(stdout);
return 0;
}
