Pagini recente » Cod sursa (job #778131) | Cod sursa (job #216392) | Cod sursa (job #1647365) | Cod sursa (job #2373413) | Cod sursa (job #329369)
Cod sursa(job #329369)
{$N+}
var v:array[1..25] of 1..25;
u:array[1..25] of extended;
n,k,i,fact,j:integer;
s,p:extended;
f,g:text;
ok,l:boolean;
begin
assign(f,'dezastru.in');
assign(g,'dezastru.out');
reset(f);rewrite(g);
readln(f,n,k);
for i:=1 to n do
read(f,u[i]);
fact:=1;
for i:=k+1 to n do
fact:=fact*i;
for i:=1 to k do
v[i]:=i;
repeat
if ok=true then
l:=true;
p:=1;
for i:=1 to k do
p:=p*u[v[i]];
s:=s+p;
if n=k then
break;
i:=k;
while k-i>n-v[i]-1 do
i:=i-1;
v[i]:=v[i]+1;
for j:=i+1 to k do
v[j]:=v[i]+j-i;
ok:=true;
if v[k]<>n then
ok:=false
else
for i:=k downto 2 do
if v[i]<>v[i-1]+1 then
begin
ok:=false;
break;
end;
until l=true;
write(g,s/fact:1:6);
close(f);close(g);
end.