题目大意:一串数,每次把最后那个数挪到前面任意位置,就最少挪动次数

显然一个数最多挪一次(只能从后取的话,插2次的一定能变成1次)

因此找最后挪动的数即可,最后挪动的数即由于与下序列的连线与之前的交叉,其它数无论怎么挪都无法影响到它)


Program DD;
const
maxn=200000;
var
n,i,j,l,r:longint;
a,b,hposa,hposb:array[1..maxn] of longint;
begin
read(n);
for i:=1 to n do
begin
read(a[i]);
hposa[a[i]]:=i;
end;
for i:=1 to n do
begin
read(b[i]);
hposb[b[i]]:=i;
end;
r:=0;
for i:=1 to n do
begin
if r<hposb[a[i]] then r:=hposb[a[i]]
else break;
end;
if (r=hposb[a[i]]) then writeln('0') else
writeln(n-i+1);

end.