#D0021. 数列交换

数列交换

题目描述

给定两个长度为 nn 的数列 a1,a2,,ana_1, a_2, \ldots, a_nb1,b2,,bnb_1, b_2, \ldots, b_n,其中:

  • 数列 aa112n2n 范围内的所有奇数(1,3,5,,2n11, 3, 5, \ldots, 2n-1)构成;
  • 数列 bb112n2n 范围内的所有偶数(2,4,6,,2n2, 4, 6, \ldots, 2n)构成。

你可以对这个数列进行任意次操作。

每次操作,你可以选择数列 aabb 中的任意两个相邻的元素,并交换它们的位置。

你希望使用最小的操作次数,使 a1<b1a_1 \lt b_1

输入格式

输入包含多组测试数据。

输入的第一行包含一个整数 t(1t104)t(1 \le t \le 10^4),表示测试数据组数。

接下来每组测试数据包含三行。其中:

  • 第一行包含一个整数 n(1n105)n(1 \le n \le 10^5)
  • 第二行包含 nn 个整数 a1,a2,,ana_1, a_2, \ldots, a_n,是一个 12n1 \sim 2n 范围内所有奇数的一个排列;
  • 第三行包含 nn 个整数 b1,b2,,bnb_1, b_2, \ldots, b_n,是一个 22n2 \sim 2n 范围内所有偶数的一个排列。

数据保证所有测试数据的 nn 之和不超过 10510^5

输出格式

对于每组测试数据,输出一行,包含一个整数。表示使 a1<b1a_1 \lt b_1 所需的最少操作次数。

input

3
2
3 1
4 2
3
5 3 1
2 4 6
5
7 5 9 1 3
2 4 6 10 8

output

0
2
3

说明/提示

样例解释

11 组测试数据:

本身就满足 a1<b1a_1 \lt b_1,不需要进行任何操作。

22 组测试数据:

可以先交换 5533,再交换 2244,则数列 a=[3,5,1];b=[4,2,6]a = [3, 5, 1]; b = [4, 2, 6],此时 a1<b1a_1 \lt b_1

33 组测试数据:

可以:

  • 先交换 9911,此时数列 a=[7,5,1,9,3]a = [7, 5, 1, 9, 3]
  • 再交换 5511,此时数列 a=[7,1,5,9,3]a = [7, 1, 5, 9, 3]
  • 再交换 7711,此时数列 a=[1,7,5,9,3]a = [1, 7, 5, 9, 3]

此时 a1<b1a_1 \lt b_1

数据规模与约定

  • 对于 30%30\% 的数据,t10;n10t \le 10; n \le 10
  • 对于 60%60\% 的数据,t100;n1000t \le 100; n \le 1000
  • 对于 100%100\% 的数据,1t104;1n1051 \le t \le 10^4; 1 \le n \le 10^5,数列 aa12n1 \sim 2n 范围内所有奇数构成,数列 bb12n1 \sim 2n 范围内所有偶数构成,且所有测试数据的 nn 之和不超过 10510^5