测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A12706. Count Pairs

编程题 普及/提高-

题目描述

You are given a prime number $p$ , $n$ integers $a_1, a_2, \ldots, a_n$ , and an integer $k$ .

Find the number of pairs of indexes $(i, j)$ ( $1 \le i < j \le n$ ) for which $(a_i + a_j)(a_i^2 + a_j^2) \equiv k \bmod p$ .

输入格式

The first line contains integers $n, p, k$ ( $2 \le n \le 3 \cdot 10^5$ , $2 \le p \le 10^9$ , $0 \le k \le p-1$ ). $p$ is guaranteed to be prime.

The second line contains $n$ integers $a_1, a_2, \ldots, a_n$ ( $0 \le a_i \le p-1$ ). It is guaranteed that all elements are different.

输出格式

Output a single integer — answer to the problem.

输入输出样例

输入 #1
3 3 0
0 1 2
输出 #1
1
输入 #2
6 7 2
1 2 3 4 5 6
输出 #2
3

说明/提示

In the first example:

$(0+1)(0^2 + 1^2) = 1 \equiv 1 \bmod 3$ .

$(0+2)(0^2 + 2^2) = 8 \equiv 2 \bmod 3$ .

$(1+2)(1^2 + 2^2) = 15 \equiv 0 \bmod 3$ .

So only $1$ pair satisfies the condition.

In the second example, there are $3$ such pairs: $(1, 5)$ , $(2, 3)$ , $(4, 6)$ .
上一题 去做题 下一题