Processing math: 100%
编程题
                ### 问题描述

某小区正在进行一次灾难疏散演练。小区里共有 2n 名居民,其中有 n 名从 1n 编号的常住居民,和 n 流动居民,流动居民尚未来得及编号,因此暂时认为他们的编号均为 0

首先居民们自发地排成了 A,B 两队,每队 n 人。小区管理人希望能让他们的队伍更为规则一些,因此他准备进行零次或若干次排队操作,使得 A 队全为流动居民, B 队全为常住居民,并且常住居民按照编号递增(即 1,2,3,,n )的顺序从前向后依次排号。管理人的每次排队操作如下:

管理人从 A 队中选择任意位置的一名居民,让他从 A 队中出列,并让他站到 B 队队尾。同时 B 队队首的居民出列,填补到 A 队中出列居民的位置上。

管理人想请你帮他求出,他最少需要经过多少次排队操作,才能使两队排成他想要的状态。

输入格式

第一行输入一个整数 n ,表示每队的居民人数。

第二行包含 n 个整数 A1,A2,,An ,整数之间以空格分开,表示 A 队的居民编号。

第三行包含 n 个整数 B1,B2,,Bn ,整数之间以空格分开,表示 B 队的居民编号。

输出格式

输出一个整数,表示管理人最少需要的排队操作次数。

样例输入

4
0 1 0 4
3 0 0 2

样例输出

7

评测数据规模

对于所有评测数据, 1n105,0Ai,Bin

查看答案
赣ICP备20007335号-2