LEM1 - COIN

Tác giả: ladpro98

Ngôn ngữ: Pascal

program lem1;
uses    math;
const   fi='';
        maxn=10004;
        eps=1e-4;
        ok=360;
var     a:array[0..maxn] of extended;
        l,r,m,x,y,z,t,alpha:extended;
        n,i:longint;
        inp:text;

begin
        assign(inp,fi);reset(inp);
        readln(inp,n);
        for i:=1 to n do read(inp,a[i]);
        a[0]:=a[n];
        l:=0;r:=1e9;
        while (r-l>eps) do
        begin
                m:=(l+r)/2;
                alpha:=0;
                for i:=1 to n do
                begin
                        x:=m+a[i-1];
                        y:=m+a[i];
                        z:=a[i-1]+a[i];
                        t:=arccos((sqr(x)+sqr(y)-sqr(z))/(2*x*y));
                        alpha:=alpha+radtodeg(t);
                end;
                if alpha<ok then r:=m
                else    l:=m;
        end;
        write(m:0:3);
end.

Download