Cod sursa(job #184624)

Utilizator black_pussaasd sada black_puss Data 23 aprilie 2008 22:55:15
Problema Dezastru Scor 10
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.81 kb
program dez;
var f,g:text;
    x:array[1..10000]of longint;
    n,k,m,i:longint;
    p,s,r:real;
    a:array[1..1000]of real;
    folosit:array[1..10000]of boolean;

procedure afisare;
var i:longint;
begin
  p:=1;
  for i:=1 to m do
   p:=p*a[x[i]];
  s:=s+p/r;
end;

procedure aranjament(i:longint);
var j:longint;
begin
  for j:=1 to n do
   if not folosit[j] then
    begin
      x[i]:=j;
      folosit[j]:=true;
      if i<k then
       aranjament(i+1) else
       afisare;
      folosit[j]:=false;
    end;
end;

begin
  assign(f,'dezastru.in');
  reset(f);
  readln(f,n,m);
  for i:=1 to n do
   read(f,a[i]);
  k:=n;
  r:=1;
  for i:=n-k+1 to n do
   r:=r*i;

  close(f);
  assign(g,'dezastru.out');
  rewrite(g);
  s:=0;
  aranjament(1);
  write(g,s:6:6);
  close(g);
end.