Pagini recente » Cod sursa (job #696222) | Cod sursa (job #1730529) | Cod sursa (job #3145996) | Cod sursa (job #550485) | Cod sursa (job #627756)
Cod sursa(job #627756)
#include <cstdio>
using namespace std;
double v[30],S,sp=1;
int n,k,p[30],cont;
void back(int poz)
{
if(poz>k)
{
S+=sp;
cont++;
return ;
}
for(int i=p[poz-1]+1;i<=n;i++)
{
p[poz]=i;
sp*=v[i];
back(poz+1);
sp/=v[i];
}
}
int main()
{
freopen("dezastru.in","r", stdin);
scanf("%d %d\n",&n,&k);
for(int i=1;i<=n;i++) scanf("%lf ",&v[i]);
back(1);
freopen("dezastru.out","w", stdout);
printf("%.6lf",double(S/cont));
fclose(stdin);
fclose(stdout);
return 0;
}