Pagini recente » Cod sursa (job #313659) | Cod sursa (job #5804) | Cod sursa (job #2384060) | Cod sursa (job #1081166) | Cod sursa (job #410995)
Cod sursa(job #410995)
#include<stdio.h>
int n,m;
double v[26];
int st[32];
double sttot;
int c;
void sol()
{
double p=1;
for(int i=1;i<=m;i++)
p*=v[st[i]];
sttot+=p;
c++;
}
void back()
{
int up,k;
k=1;st[k]=0;
while(k)
{
up=0;
while(!up&&st[k]<n)
{
st[k]++;
up=1;
}
if(up)
if(k==m)sol();
else k++,st[k]=st[k-1];
else k--;
}
}
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",&v[i]);
back();
printf("%.6lf",sttot/c);
return 0;
}