题意是说给出n个数,然后求出合适的m和k,使得这些数mod m之后的数等于k的个数比不等于k的个数要多。题目样例给的是5 3,但其实不用担心样例,因为题目说的是any of them,只需输出合适的一组就可以了。所以简单去想,一个数肯定不是奇数就是偶数,这样只要求出来奇数的个数和偶数的个数就够了,然后奇数多就输出2 1,偶数多就输出2 0。
下面AC代码:
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int a[100005];
int main()
{
int T;
int n;
int i;
int m,k;
int odd,eve;
scanf("%d",&T);
while(T--)
{
odd=eve=0;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
if(a[i]%2==0)
{
eve++;
}
else
{
odd++;
}
}
if(eve>odd)
cout<<2<<" "<<0<<endl;
else
cout<<2<<" "<<1<<endl;
}
return 0;
}