Cod sursa(job #288696)

Utilizator cristinabCristina Brinza cristinab Data 26 martie 2009 00:45:23
Problema Dezastru Scor 20
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.91 kb
{dezastru preONI2007}
{$N+}

var a:array[1..25] of real;
    st:array[0..25] of byte;
    marc:array[1..25] of boolean;
    suma:extended;
    nr,n,k:byte;
    f,g:text;

procedure citire;
var i:byte;
begin
assign(f,'dezastru.in'); reset(f);
readln(f,n,k);
for i:=1 to n do read(f,a[i]);
close(f);
end;

procedure back(p:integer);
var i,j:byte;
begin
for i:=st[p-1]+1 to n do
    begin
    st[p]:=i;
    if not marc[st[p]] then
       begin
       marc[st[p]]:=true;
       if p=k then
          begin
          inc(nr);
          for j:=1 to p-1 do
              suma:=suma+a[st[j]]*a[st[j+1]];
          end
       else back(p+1);
       marc[st[p]]:=false;
       end;
    end;
end;

procedure afisare;
var val:extended;
begin
assign(g,'dezastru.out'); rewrite(g);
val:=suma/nr;
writeln(g,val:2:6);
close(g);
end;

begin
suma:=0;
nr:=0;
citire;
back(1);
afisare;
end.