sequence1
Accepts: 565
Submissions: 1001
Time Limit: 2000/1000 MS (Java/Others)
Memory Limit: 65536/65536 K (Java/Others)
问题描述
给定长度为n的序列a,求有多少对i,j(i<j),使得∣ai−aj∣ mod b=c
输入描述
若干组数据(大概5组)。 每组数据第一行三个整数n(1≤n≤100),b,c(0≤c<b≤109)。 接下来一行n个整数ai(0≤ai≤109)。
输出描述
对于每组数据,输出一行表示答案。
输入样例
3 3 2 1 2 3 3 3 1 1 2 3
输出样例
1 2
#include<stdio.h> #include<string.h> #include<algorithm> using namespace std; const __int64 maxm=1e3+10; __int64 a[maxm]; int main() { __int64 n,b,c; while(scanf("%I64d%I64d%I64d",&n,&b,&c)!=EOF) { for(__int64 i=0;i<n;i++) { scanf("%I64d",&a[i]); } __int64 sum=0; for(__int64 i=0;i<n;i++) { for(__int64 j=i+1;j<n;j++) { __int64 t=a[i]-a[j]; if(t<0) { t=-t; } if(t%b==c) { sum++; } } } printf("%I64d\n",sum); } return 0; }