#L6047. 「雅礼集训 2017 Day10」决斗
「雅礼集训 2017 Day10」决斗
题目描述
Mirko 是侏儒国的国王,Slavko 是精灵国的国王。最近,侏儒国和精灵国进行了一场战争。Slavko 率领着 N 个最强壮的精灵(编号从 1 到 N)进攻侏儒国,而侏儒国的城堡也由 N 个侏儒(按顺时针方向从 1 到 N 编号并形成环形)进行防守。
Mirko 为每一个精灵分配了一个侏儒对手 (A_i),表示编号为 i 的精灵要与编号为 (A_i) 的侏儒进行对决。然而,不久后他就发现,这个方案不能保证每一个侏儒都与唯一一个精灵进行对决。
经过协商,Mirko 和 Slavko 最终定下了如下规则:
- Slavko 会按他安排的顺序依次派遣他的精灵进入城堡。
- 一个精灵进入城堡时,上一个进入的精灵必须已经找到了就座的位置并坐下。
- 编号为 k 的精灵进入城堡时,会首先靠近编号为 (A_k) 的侏儒。
- 如果该侏儒旁边的位置没有精灵就座,则该精灵在该位置就座。
- 否则,他将沿着顺时针方向走到下一个侏儒旁的位置,直到他找到一个空位为止。
最终,N 个精灵和侏儒将一一配对,并进行一对一的对决,其中更有力量的一个将会胜出。
Slavko 已经为这场战斗做了充分的准备,他已经知道了每一个精灵和侏儒的力量大小。现在他想知道,合理安排精灵进入城堡的顺序后,他的精灵们最多能赢得多少场对决。
输入格式
- 第一行一个整数 (N)
- 第二行 (N) 个整数 (A_i)
- 第三行 (N) 个整数,其中第 (i) 个整数表示第 (i) 个侏儒的力量值
- 第四行 (N) 个整数,其中第 (i) 个整数表示第 (i) 个精灵的力量值
输出格式
输出一行一个整数,表示精灵们最多能赢得多少场对决。
样例 1
输入
3
2 3 3
4 1 10
2 7 3
输出
2
样例 2
输入
4
3 1 3 3
5 8 7 10
4 1 2 6
输出
1
样例 3
输入
3
1 2 3
8 4 3
9 2 6
输出
2
数据范围与提示
- 对于 (40%) 的数据,(A_i = 1)
- 对于 (100%) 的数据,1≤N≤5x10⁵
- 保证输入的力量值互不相同,且在[1, 10⁹] 的范围内