CF2113D.Cheater
提高+/省选-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
你正在赌场玩一种新的纸牌游戏,规则如下:
- 游戏使用一副共 2n 张不同点数的牌。
- 牌堆被均匀分给玩家和庄家:每人获得 n 张牌。
- 在 n 轮比赛中,玩家和庄家同时打出手中最上面的一张牌。比较两张牌的点数,点数较大的一方获得 1 分。获胜的牌会被移出游戏,而失败的牌会返回持有者的手牌,并放在该玩家手牌堆的最上面。
注意游戏总是会进行恰好 n 轮。
你已经追踪了洗牌过程,知道庄家手牌的从上到下的顺序。为了最大化你的得分,你可以在游戏开始前交换手中任意两张牌的位置(最多交换一次以避免引起怀疑)。
请确定你能获得的最大分数。
输入格式
每个测试包含多个测试用例。第一行包含测试用例数量 t(1≤t≤5⋅104)。接下来是每个测试用例的描述。
每个测试用例的第一行包含一个整数 n(1≤n≤2⋅105)——玩家手牌的数量。
第二行包含 n 个整数 a1,a2,…,an(1≤ai≤2n)——玩家手牌从上到下的点数。
第三行包含 n 个整数 b1,b2,…,bn(1≤bi≤2n)——庄家手牌从上到下的点数。
保证所有牌的点数都是唯一的。
保证所有测试用例的 n 之和不超过 2⋅105。
输出格式
对于每个测试用例,输出一个整数——你能获得的最大分数。
输入输出样例
输入#1
3 7 13 7 4 9 12 10 2 6 1 14 3 8 5 11 3 1 6 5 2 3 4 5 8 6 3 10 1 7 9 5 2 4
输出#1
6 2 3
说明/提示
在第一个测试用例中,可以不交换任何牌。游戏过程如下:
- 比较点数为 13 和 6 的牌。玩家获胜,得 1 分。
- 比较点数为 7 和 6 的牌。玩家获胜,得 1 分。
- 比较点数为 4 和 6 的牌。庄家获胜。
- 比较点数为 4 和 1 的牌。玩家获胜,得 1 分。
- 比较点数为 9 和 1 的牌。玩家获胜,得 1 分。
- 比较点数为 12 和 1 的牌。玩家获胜,得 1 分。
- 比较点数为 10 和 1 的牌。玩家获胜,得 1 分。
因此玩家总共获得 6 分。
在第二个测试用例中,可以交换点数为 1 和 5 的牌,交换后玩家手牌变为 [5,6,1]。游戏过程如下:
- 比较点数为 5 和 2 的牌。玩家获胜,得 1 分。
- 比较点数为 6 和 2 的牌。玩家获胜,得 1 分。
- 比较点数为 1 和 2 的牌。庄家获胜。
因此玩家总共获得 2 分。
在第三个测试用例中,可以交换点数为 3 和 10 的牌,交换后玩家手牌变为 [8,6,10,3,1]。游戏过程如下:
- 比较点数为 8 和 7 的牌。玩家获胜,得1分。
- 比较点数为 6 和 7 的牌。庄家获胜。
- 比较点数为 6 和 9 的牌。庄家获胜。
- 比较点数为 6 和 5 的牌。玩家获胜,得 1 分。
- 比较点数为 10 和 $5 $的牌。玩家获胜,得 1 分。
因此玩家总共获得 3 分。
输入解题思路,AI测评打分。不知道怎么写?