Mai intai trebuie sa te autentifici.
Cod sursa(job #154628)
Utilizator | Data | 11 martie 2008 12:34:58 | |
---|---|---|---|
Problema | Dezastru | Scor | 0 |
Compilator | fpc | Status | done |
Runda | Arhiva de probleme | Marime | 1.43 kb |
const nmax=26;
type stiva=array[1..nmax] of integer;
var f,g:text;
v:array[1..nmax] of real;
k,x,y,l,m,p,n,i,o:longint;
ap:array[1..nmax] of 0..1;
sf,s,p1:real;
st:stiva;
q:boolean;
procedure back(l:longint);
var i,j:longint;
begin
if l=k+1 then begin
p1:=1;
For j:=1 To k do
p1:=2*(p1*v[st[j]]);
s:=s+p1;
p:=p+1;
end
else begin
For i:=st[l-1] To n do
begin
St[l]:=i;
q:=True;
if ap[st[l]]=1 then q:=false;
if q then begin
ap[st[l]]:=1;
back(l+1);
ap[st[l]]:=0;
end;
end;
end;
end;
begin
assign(f,'dezastru.in');reset(f);
readln(f,n,k);
for i:=1 to n do
read(f,v[i]);
p:=0;
close(f);
assign(f,'dezastru.out');rewrite(f);
back(1);
sf:=s/p;
writeln(f,sf:0:6);
close(f);
End.