Cod sursa(job #640443)

Utilizator ctlin04UAIC.VlasCatalin ctlin04 Data 25 noiembrie 2011 19:19:20
Problema Dezastru Scor 100
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.82 kb
Program dezastru;
 var a:array [0..27,0..27] of double;
     b:array [0..27] of double;
     nr:double;
     n,k,i,j:byte;
     fi,fo:text;
function comb(n,k:byte):double;
 var s1,s2,s3:int64;
 begin
  {if (n=k) or (k=0) then comb:=1
   else comb:=comb(n-1,k)+comb(n-1,k-1);  }
  s1:=1; s2:=1; s3:=1;    comb:=1;
 for i:=1 to n do begin
                   comb:=comb*i;
                   if i<=n-k then comb:=comb/i;
                    if i<=k then comb:=comb/i;
                   end;
end;
begin
 assign(fi,'dezastru.in');
  assign(fo,'dezastru.out');
 reset(fi); rewrite(fo);
 readln(fi,n,k);
  for i:=1 to n do begin read(fi,b[i]); a[i,0]:=1; end;
   a[0,0]:=1;
  for i:=1 to k do
   for j:=i to n do
    a[j,i]:=a[j-1,i]+a[j-1,i-1]*b[j];
   nr:=comb(n,k);
    write(fo,a[n,k]/nr:0:6);
 close(fo);
end.