Cod sursa(job #1402094)

Utilizator PetruZZatic Petru PetruZ Data 26 martie 2015 12:25:14
Problema Dezastru Scor 0
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.02 kb
Program Dezastru;
    var n, k, j, m : longint;
        a : array [0..30] of longint;
        b : array [0..30] of real;
        c : array [0..30] of real;
        fi, fo : text;
        sum, p : real;

 Procedure back(l:longint);
       var i : longint;
       begin
       if (l=k) then begin
                     inc(j);
                     for i:=1 to k do c[j]:=c[j]*b[a[i]];
                     end
                else begin
                     for i:=a[l]+1 to n do begin
                                             a[l+1]:=i;
                                             back(l+1);
                                             end;
                     end;
       end;


begin
 assign(fi,'dezastru.in'); reset(fi);
 assign(fo,'dezastru.out'); rewrite(fo);
 readln(fi,n,k);
 for m:=1 to n do read(fi,b[m]);
 j:=0;
 for m:=1 to n do c[m]:=1;
 back(0);
 sum:=0;
 p:=1;
 for m:=1 to n do p:=p*m;
 p:=p/2;
 for m:=1 to n do sum:=sum+(c[m]/p);
 writeln(fo,sum:0:8);
 close(fi);
 close(fo);
end.