Pagini recente » Cod sursa (job #291379) | Cod sursa (job #2487598) | Cod sursa (job #3201814) | Cod sursa (job #693138) | Cod sursa (job #39080)
Cod sursa(job #39080)
const maxn = 25;
var f:text;
n,k,i,j:longint;
sol,r:real;
a:array[1..maxn]of real;
st:array[0..maxn]of longint;
fol:array[1..maxn]of boolean;
procedure readdata;
begin
assign(f,'dezastru.in');
reset(f);
readln(f,n,k);
for i:=1 to n do
begin
read(f,a[i]);
end;
close(f);
end;
procedure back(m:integer);
var i:integer;
begin
if m>k then
begin
sol:=sol+r;
end
else
begin
for i:=st[m-1]+1 to n do
begin
if fol[i]=false then
begin
st[m]:=i;
r:=r*a[i];
fol[i]:=true;
back(m+1);
fol[i]:=false;
r:=r/a[i];
end;
end;
end;
end;
procedure solve;
begin
st[0]:=0;
r:=1;
sol:=0;
back(1);
end;
procedure writedata;
begin
assign(f,'dezastru.out');
rewrite(f);
r:=1;
for i:=k+1 to n do
begin
r:=r*i/(i-k);
end;
writeln(f,sol/r:0:6);
close(f);
end;
begin
readdata;
solve;
writedata;
end.