Cod sursa(job #148728)

Utilizator valytgjiu91stancu vlad valytgjiu91 Data 4 martie 2008 19:34:42
Problema Dezastru Scor 50
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.32 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:=p1*v[st[j]];
                      s:=s+p1;
                      p:=p+1;
                   end
              else begin
                        For i:=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.