CF2113D Cheater
题目描述
你正在赌场玩一种新的纸牌游戏,规则如下:
1. 游戏使用一副共 $2n$ 张不同点数的牌。
2. 牌堆被均匀分给玩家和庄家:每人获得 $n$ 张牌。
3. 在 $n$ 轮比赛中,玩家和庄家同时打出手中最上面的一张牌。比较两张牌的点数,点数较大的一方获得 $1$ 分。获胜的牌会被移出游戏,而失败的牌会返回持有者的手牌,并放在该玩家手牌堆的最上面。
注意游戏总是会进行恰好 $n$ 轮。
你已经追踪了洗牌过程,知道庄家手牌的从上到下的顺序。为了最大化你的得分,你可以在游戏开始前交换手中任意两张牌的位置(最多交换一次以避免引起怀疑)。
请确定你能获得的最大分数。
输入格式
每个测试包含多个测试用例。第一行包含测试用例数量 $t$($1 \le t \le 5 \cdot 10^4$)。接下来是每个测试用例的描述。
每个测试用例的第一行包含一个整数 $n$($1 \leq n \leq 2 \cdot 10^{5}$)——玩家手牌的数量。
第二行包含 $n$ 个整数 $a_{1}, a_{2}, \ldots, a_{n}$($1 \leq a_{i} \leq 2n$)——玩家手牌从上到下的点数。
第三行包含 $n$ 个整数 $b_{1}, b_{2}, \ldots, b_{n}$($1 \leq b_{i} \leq 2n$)——庄家手牌从上到下的点数。
保证所有牌的点数都是唯一的。
保证所有测试用例的 $n$ 之和不超过 $2 \cdot 10^5$。
输出格式
对于每个测试用例,输出一个整数——你能获得的最大分数。
说明/提示
在第一个测试用例中,可以不交换任何牌。游戏过程如下:
1. 比较点数为 $13$ 和 $6$ 的牌。玩家获胜,得 $1$ 分。
2. 比较点数为 $7$ 和 $6$ 的牌。玩家获胜,得 $1$ 分。
3. 比较点数为 $4$ 和 $6$ 的牌。庄家获胜。
4. 比较点数为 $4$ 和 $1$ 的牌。玩家获胜,得 $1$ 分。
5. 比较点数为 $9$ 和 $1$ 的牌。玩家获胜,得 $1$ 分。
6. 比较点数为 $12$ 和 $1$ 的牌。玩家获胜,得 $1$ 分。
7. 比较点数为 $10$ 和 $1$ 的牌。玩家获胜,得 $1$ 分。
因此玩家总共获得 $6$ 分。
在第二个测试用例中,可以交换点数为 $1$ 和 $5$ 的牌,交换后玩家手牌变为 $[5, 6, 1]$。游戏过程如下:
1. 比较点数为 $5$ 和 $2$ 的牌。玩家获胜,得 $1$ 分。
2. 比较点数为 $6$ 和 $2$ 的牌。玩家获胜,得 $1$ 分。
3. 比较点数为 $1$ 和 $2$ 的牌。庄家获胜。
因此玩家总共获得 $2$ 分。
在第三个测试用例中,可以交换点数为 $3$ 和 $10$ 的牌,交换后玩家手牌变为 $[8, 6, 10, 3, 1]$。游戏过程如下:
1. 比较点数为 $8$ 和 $7$ 的牌。玩家获胜,得$1$分。
2. 比较点数为 $6$ 和 $7$ 的牌。庄家获胜。
3. 比较点数为 $6$ 和 $9$ 的牌。庄家获胜。
4. 比较点数为 $6$ 和 $5$ 的牌。玩家获胜,得 $1$ 分。
5. 比较点数为 $10$ 和 $5 $的牌。玩家获胜,得 $1$ 分。
因此玩家总共获得 $3$ 分。