Pagini recente » Cod sursa (job #1815852) | Cod sursa (job #36091) | Cod sursa (job #1474536) | Cod sursa (job #1275640) | Cod sursa (job #1402094)
Program Dezastru;
var n, k, j, m : longint;
a : array [0..30] of longint;
b : array [0..30] of real;
c : array [0..30] of real;
fi, fo : text;
sum, p : real;
Procedure back(l:longint);
var i : longint;
begin
if (l=k) then begin
inc(j);
for i:=1 to k do c[j]:=c[j]*b[a[i]];
end
else begin
for i:=a[l]+1 to n do begin
a[l+1]:=i;
back(l+1);
end;
end;
end;
begin
assign(fi,'dezastru.in'); reset(fi);
assign(fo,'dezastru.out'); rewrite(fo);
readln(fi,n,k);
for m:=1 to n do read(fi,b[m]);
j:=0;
for m:=1 to n do c[m]:=1;
back(0);
sum:=0;
p:=1;
for m:=1 to n do p:=p*m;
p:=p/2;
for m:=1 to n do sum:=sum+(c[m]/p);
writeln(fo,sum:0:8);
close(fi);
close(fo);
end.