商余配对
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
商余配对
【题目描述】
小灰灰有两个长度均为 的数组 和 ,其中 为正整数, 为非负整数。另有一个正整数 。
一次操作中,可以从数组 中选择一个尚未删除的数 ,从数组 中选择一个尚未删除的数 。如果存在两个正整数 ,满足
且 除以 的商为 、余数为 ,那么可以将这两个数同时删除。
每个数最多只能被删除一次。请问最多可以删除多少对数?
本题包含多组测试数据。
【输入描述】
第一行输入一个正整数 ,表示测试数据组数。
接下来依次输入 组测试数据。对于每组测试数据:
第一行输入两个正整数 。
第二行输入 个正整数 。
第三行输入 个非负整数 。
保证:
- ;
- ;
- ;
- ;
- ;
- 单个测试点内所有测试数据的 之和不超过 。
【输出描述】
对于每组测试数据,输出一行一个整数,表示最多可以删除的数对数量。
【样例 1】
【样例 1 输入】
1
3 6
1 2 3
0 1 1
【样例 1 输出】
3
【样例 1 解释】
可以将 配对,此时可取 。
可以将 配对,此时可取 。
可以将 配对,此时可取 。
因此最多可以删除 对。
【样例 2】
【样例 2 输入】
1
5 5
1 2 3 4 5
0 0 0 0 0
【样例 2 输出】
5
【样例 2 解释】
对于每个 ,都可以选择 ,且满足 ,所以 对都能删除。
【样例 3】
见选手目录下的 Data/sample3.in 和 Data/sample3.ans。
该样例满足每组测试数据 。
【样例 4】
见选手目录下的 Data/sample4.in 和 Data/sample4.ans。
该样例满足对所有 ,均有 。
【样例 5】
见选手目录下的 Data/sample5.in 和 Data/sample5.ans。
该样例满足对所有 ,均有 。
【样例 6】
见选手目录下的 Data/sample6.in 和 Data/sample6.ans。
该样例满足每组测试数据 。
【样例 7】
见选手目录下的 Data/sample7.in 和 Data/sample7.ans。
该样例满足单个测试点内所有测试数据的 之和不超过 。
【样例 8】
见选手目录下的 Data/sample8.in 和 Data/sample8.ans。
该样例无特殊性质。
【数据规模与约定】
| 测试点编号 | 分数 | 特殊性质 |
|---|---|---|
1 ~ 2 |
10 | 每组测试数据 |
3 ~ 5 |
15 | 对所有 ,均有 |
6 ~ 8 |
对所有 ,均有 | |
9 ~ 11 |
20 | 每组测试数据 |
12 ~ 14 |
单个测试点内所有测试数据的 之和不超过 | |
15 ~ 18 |
无 |