题意:
题意很简单,就是求那个累积的值,昨晚卷积了半天发现
m
m
m 只有
1000
1000
1000,就可以知道只要
n
>
1000
n>1000
n>1000 必定输出
0
0
0 或者
n
>
m
n>m
n>m 也会输出
0
0
0.
a
%
m
=
=
b
%
m
a\%m==b\%m
a%m==b%m 那么有
∣
a
−
b
∣
%
m
=
=
0
|a-b|\%m==0
∣a−b∣%m==0,所以当
n
>
m
n>m
n>m会有两种情况:
- n n n 个数都不相同,那么肯定会出现 a % m = = b % m a\%m==b\%m a%m==b%m 这样的两个数,所以答案就是 0 0 0.
- n n n 个数有相同的,那 ∣ a − b ∣ |a-b| ∣a−b∣存在为 0 0 0 的,答案就是 0 0 0。
AC代码:
const int N = 2e5 + 10;
int n, m;
int res, tmp, cnt;
int a[N];
int main()
{
sdd(n, m);
rep(i, 1, n)
sd(a[i]);
if (n >= 2000)
puts("0");
else
{
ll ans = 1;
rep(i, 1, n)
{
rep(j, i + 1, n)
{
ans = abs(a[i] - a[j]) % m * ans % m;
ans = ans % m;
}
}
pld(ans);
}
return 0;
}