ac1108.pas

来自「同济大学 Online在线题库 AC源代码合集 程序设计竞赛必看资料」· PAS 代码 · 共 32 行

PAS
32
字号
program tju1108;
const
  maxn=100000;
var
  a,b:array[0..maxn+1]of longint;
  n,i,x,ans,l,r:longint;
begin
  repeat
    read(n);
    for i:=1 to n do begin
      read(x);b[x]:=i;
    end;
    for i:=1 to n do begin
      read(x);a[i]:=b[x];
    end;

    ans:=1;b[1]:=a[1];b[2]:=maxlongint;
    for i:=2 to n do begin
      l:=1;r:=ans+1;
      repeat
        x:=(l+r) shr 1;
        if a[i]<b[x] then
          if a[i]>b[x-1] then break else r:=x-1
        else
          l:=x+1;
      until false;
      b[x]:=a[i];if x>ans then begin inc(ans);b[x+1]:=maxlongint;end;
    end;
    writeln(ans);
  until seekeof;
end.

⌨️ 快捷键说明

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