explorer.pas

来自「acm 国家集训队论文,对ACM爱好者很有用」· PAS 代码 · 共 34 行

PAS
34
字号
uses tools_p;

Const
    zero=1e-4;
    phi=(sqrt(5)-1)/2;

Var
    L,h,t:extended;

procedure work;
var lastf,lastx,x,f:extended;
begin
    lastx:=t*phi;
    lastf:=ask(lastx);
    while abs(h-t)>zero do
      begin
          x:=h+t-lastx;
          f:=ask(x);
          if f>lastf then begin
              if x>lastx then h:=lastx else t:=lastx;
              lastx:=x; lastf:=f;
          end
          else begin
              if x>lastx then t:=x else h:=x;
          end;
      end;
end;

Begin
    L:=Start;
    h:=0; t:=L;
    work;
    Answer((h+t)/2);
End.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?