Pagini recente » Cod sursa (job #2327839) | Cod sursa (job #1557267) | Cod sursa (job #2749229) | Cod sursa (job #569862) | Cod sursa (job #39641)
Cod sursa(job #39641)
#include <fstream.h>
#include <stdio.h>
ifstream fin("dezastru.in");
float v[33],s;
int n,k,i,j,g,st[33];
int min(int a,int b){
if (a<b)
return a;
else
return b;
}
void back(int g){
int i;
float t=1;
if (g==k)
{
for(i=1;i<=k;i++)
t*=v[st[i]]*i;
s+=t;
}
else
{
for(i=st[g]+1;i<=min(n,st[g]+k);i++)
{
st[g+1]=i;
back(g+1);
}
}
}
int main(){
freopen("dezastru.out","w",stdout);
fin>>n>>k;
for (i=1;i<=n;i++)
fin>>v[i];
back(0);
for (i=n-k+1;i<=n;i++)
s/=i;
printf("%.6lf\n",s);
fin.close();
return 0;
}