首先计算每个数的个数 cnt。
single[i] 为每个模 m 的数为 i 的数中,数量为奇数的个数
all[i] 为每个模 m 的数的偶数部分的数的个数。
然后先拿 single[i] 和 single[m−i] 匹配。
多的一方如果是 single[i] ,则继续和 all[m−i] 尝试匹配。\
小红有 n 个数,第 i 个数为 xi ,他想将这些数两两配对。
现在小红给定了两个数配对的条件:
满足上面两个条件之一,即可配对。
现在小红问你,他可以最多配对出多少个数对。
第一行,一个整数 T(1≤T≤10) ,表示数据组数。
接下来每组数据,
第一行,两个整数 n(2≤n≤105) 和 m(1≤m≤105) 。
第二行,n 个整数 xi(1≤xi≤105) 。
一个整数,表示小红可以配对的最大对数。
输入
1
9 8
9 9 8 2 4 4 3 5 3
输出
3
说明
9
和 9
配对
4
和 4
配对
3
和 5
配对