Pagini recente » Cod sursa (job #41073) | Cod sursa (job #517290) | Cod sursa (job #575625) | Cod sursa (job #2398756) | Cod sursa (job #39298)
Cod sursa(job #39298)
var a:array[0..25]of real;
d:array[0..25]of integer;
b:array[1..4194304]of real;
n,k,i,z:longint;
r:real;
procedure back(i:integer);
var j:integer;
begin
if i>k then
begin
inc(z);
b[z]:=1;
for j:=1 to k do b[z]:=b[z]*a[d[j]-1];
exit;
end;
for j:=d[i-1] to n do
begin
if k-i>n-j+1 then break;
d[i]:=j+1;
back(i+1);
d[i]:=0;
end;
end;
begin
assign(input,'dezastru.in');
reset(input);
assign(output,'dezastru.out');
rewrite(output);
readln(n,k);
for i:=1 to n do read(a[i]);
d[0]:=1;
z:=0;
back(1);
for i:=1 to z do
begin
r:=r+b[i];
end;
r:=r/z;
writeln(r:0:6);
close(output);
end.