Pagini recente » Cod sursa (job #45893) | Cod sursa (job #1632197) | Cod sursa (job #647900) | Cod sursa (job #3174096) | Cod sursa (job #37622)
Cod sursa(job #37622)
var f,g:text;
st:array[1..30]of integer;
a,b:array[1..30]of real;
i,n,m,nr:longint;
s:real;
function ok(k:longint):boolean;
begin
ok:=true;
for i:=1 to k-1 do
if st[i]=st[k] then ok:=false;
end;
procedure afis;
begin
inc(nr);
b[nr]:=1;
for i:=1 to m do
b[nr]:=b[nr]*a[st[i]];
end;
procedure back(k:longint);
var i:longint;
begin
if k>n then afis
else for i:=1 to n do
begin
st[k]:=i;
if ok(k) then back(k+1);
end
end;
begin
assign(f,'dezastru.in');reset(f);
assign(g,'dezastru.out');rewrite(g);
readln(f,n,m);
for i:=1 to n do
read(f,a[i]);
back(1);
s:=0;
for i:=1 to nr do
s:=s+b[i]/nr;
writeln(g,s:8:6);
close(f);
close(g);
end.