题目描述
有一个计数器,计数器的初始值为0,每次操作你可以把计数器的值加上a1,a2,...,an中的任意一个整数,操作次数不限(可以为0次),问计数器的值对m取模后有几种可能。
输入描述
第一行两个整数n,m
接下来一行n个整数表示a1,a2,...,an
1≤n≤100
1≤m,a1,a2,...,an≤1000000000
输出描述
输出一个整数表示答案
示例1
输入
3 6
6 4 8
输出
3
分析
感觉这道题挺简单的,但是写了代码后才发现,并没有通过所有的测试用例。。。。。。
Code
#include<bits/stdc++.h>
using namespace std;
int main()
{
long long n,m,i,j,number=0;
cin>>n>>m;
long long a[105],b[105];
for(i=0;i<n;i++)
{
cin>>a[i];
b[i]=a[i]%m;
}
for(i=0;i<n;i++)
{
for(j=i+1;j<n;j++)
{
if(b[i]==b[j])
b[i]=m;
}
}
for(i=0;i<n;i++)
{
if(b[i]!=m)
number++;
}
cout<<number;
return 0;
}