B. 留下或镜像
时间限制:2 秒
内存限制:256 MB
给你一个长度为 n 的排列 p1,p2,…,pn。
你需要按以下方式构建数组 a1,a2,…,an:
对于每个 1≤i≤n,可以选择 ai=pi 或 ai=2n−pi。
求数组 a1,a2,…,an 的最小可能逆序对数。
长度为 n 的排列是一个包含 1 到 n 的 n 个互不相同的整数的数组。例如,[2,3,1,5,4] 是一个排列,但 [1,2,2] 不是排列(2 出现了两次),[1,3,4] 也不是排列(n=3 但数组中出现了 4)。
数组 a1,a2,…,an 中的逆序对是指满足 1≤i<j≤n 且 ai>aj 的一对下标 (i,j)。
输入
每个测试包含多个测试用例。第一行包含测试用例数 t (1≤t≤103)。接下来是各测试用例的描述。
每个测试用例的第一行包含一个整数 n (2≤n≤5⋅103)。
第二行包含 n 个整数 p1,p2,…,pn (1≤pi≤n)。保证 p1,p2,…,pn 是一个排列。
保证所有测试用例的 n 之和不超过 5⋅103。
输出
对于每个测试用例,输出一个整数——数组 a 的最小逆序对数。
示例
输入
5
2
2 1
3
2 1 3
4
4 3 2 1
5
2 3 1 5 4
6
2 3 4 1 5 6
输出
0
1
0
2
2
说明
在第一个测试用例中,唯一最优的数组 a 是 [2,3],有 0 个逆序对。
在第二个测试用例中,一个最优数组 a 是 [2,5,3],有 1 个逆序对。另一个可能的最优数组 a 是 [2,1,3]。