Pagini recente » Monitorul de evaluare | Cod sursa (job #2490640) | Cod sursa (job #2010840) | Cod sursa (job #396345) | Cod sursa (job #187769)
Cod sursa(job #187769)
#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;
}