一开始只有76,似乎是因为常数太小了,改大了之后到了92,但是之后换常数没用了
#include<cstdio>
#define MOD 1000003
using namespace std;
int N,C;
long long ans;
struct node{
int value;
long long quant;
}a[MOD];
int main()
{
scanf("%d%d",&N,&C);
int temp;
for(int i=1;i<=N;i++)
{
scanf("%d",&temp);
a[temp%MOD].quant++;
a[temp%MOD].value=temp;
}
for(int i=0;i<=MOD;i++)
{
temp=a[(a[i].value+C)%MOD].quant;
if(a[i].quant){
if(temp)
ans+=temp*a[i].quant;
}
}
printf("%lld",ans);
return 0;
}