Pagini recente » Cod sursa (job #676616) | Cod sursa (job #881194) | Cod sursa (job #507019) | Cod sursa (job #79253) | Cod sursa (job #73237)
Cod sursa(job #73237)
Program dezastru;
Var f:text;
i,k,n,p,kk:longint;
s,pp:real;
c:array[1..8000] of byte;
a:array[1..8000] of real;
Begin
assign(f,'dezastru.in');
reset(f);
readln(f,n,k);
for i:=1 to n do read(f,a[i]);
s:=0.0;
pp:=1.0;
kk:=1;
for i:=1 to k do begin kk:=kk*i; c[i]:=i; pp:=pp*a[c[i]]; end;
s:=s+(pp/(n*(n-1)))*kk;
repeat
c[k]:=c[k]+1;
if c[k]=n+1 then
begin
p:=k-1;
while (p>0) and (c[p]=n-k+p) do p:=p-1;
c[p]:=c[p]+1;
for i:=p+1 to k do c[i]:=c[i-1]+1;
end;
pp:=1.0;
for i:=1 to k do pp:=pp*a[c[i]];
s:=s+(pp/(n*(n-1)))*kk;
until(c[1]=n-k+1);
close(f);
assign(f,'dezastru.out');
rewrite(f);
Writeln(f,s:0:6);
close(f);
End.