Pagini recente » Istoria paginii runda/racovita_mini_vacanta_10/clasament | Cod sursa (job #920370) | Cod sursa (job #2319393) | Cod sursa (job #599013) | 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;
}