#P16401. [Spoj3372]Round Table

[Spoj3372]Round Table

题目背景

一间圆形宴会厅中摆放着一张圆桌,圆桌周围共有 2N2N 个座位。宴会厅有两扇门,客人分别在两扇门外排队等候入场。

由于座位之间的通道十分狭窄,一名客人前往自己的座位时,沿途已经入座的客人都必须起身让路。为了尽量减少对客人的打扰,需要合理决定两支队伍的入场顺序。

题目描述

圆桌周围有 2N2N 个座位,按照顺时针方向依次编号为

1,2,,2N.1,2, \ldots,2N.

宴会厅有两扇门:

  • 11 位于座位 2N2N 与座位 11 之间;
  • 22 位于座位 NN 与座位 N+1N+1 之间。

共有 2N2N 名客人,每名客人的编号均在 112N2N 之间,且所有客人的编号互不相同。编号为 pp 的客人必须坐在编号为 pp 的座位上。

客人被分成两支各有 NN 人的队伍:

  • 第一支队伍在门 11 外排队,只能从门 11 入场;
  • 第二支队伍在门 22 外排队,只能从门 22 入场。

每支队伍内部的先后顺序不能改变,但你可以在每一步选择让哪一支队伍的下一名客人入场。

一名客人从自己的门进入后,可以沿圆桌的任意一个方向前往自己的座位。每经过一个已经有人就座的座位,该座位上的客人就必须起身一次让路。

例如,一名客人从门 11 进入并前往座位 pp

  • 若沿座位 1,2,,p1,2,\ldots,p 的方向前进,则座位 11p1p-1 中已经入座的客人需要起身;
  • 若沿另一方向前进,则座位 p+1p+12N2N 中已经入座的客人需要起身。

客人总会选择使起身次数较少的方向。

请你决定两支队伍的交错入场顺序,使所有客人入座过程中发生的起身总次数最少,并输出这个最小值。

输入格式

第一行包含一个整数 NN

第二行包含 NN 个互不相同的整数,表示在门 11 外排队的客人编号。输入顺序即为入场先后顺序。

第三行包含 NN 个互不相同的整数,表示在门 22 外排队的客人编号。输入顺序即为入场先后顺序。

两行中的 2N2N 个编号恰好构成 112N2N 的一个排列。

输出格式

输出一个整数,表示所有客人全部入座时,最少可能发生的起身总次数。

样例

输入

3
4 5 3
6 2 1

输出

3

数据范围

1N2000.1\le N\le 2000.