Pagini recente » Cod sursa (job #1054353) | Cod sursa (job #1993521) | Cod sursa (job #1777172) | Cod sursa (job #1413924) | Cod sursa (job #39726)
Cod sursa(job #39726)
#include <fstream.h>
#include <stdio.h>
float v[33],s;
int n,k,i,j,g,st[33];
void back(int g){
int i,l;
float t=1;
if (g==k)
{
for(i=1;i<=k;i++)
t*=v[st[i]]*i;
s+=t;
}
else
{
l=n-(k-(g+1));
for(i=st[g]+1;i<=l;i++)
{
st[g+1]=i;
back(g+1);
}
}
}
int main(){
freopen("dezastru.in","r",stdin);
freopen("dezastru.out","w",stdout);
scanf("%d %d",&n,&k);
for (i=1;i<=n;i++)
scanf("%f",&v[i]);
back(0);
for (i=n-k+1;i<=n;i++)
s/=i;
printf("%.6f\n",s);
return 0;
}