CF2095E.Pair Count

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

给定一个质数 pp,nn 个整数 a1,a2,…,ana_1, a_2, \ldots, a_n,以及一个整数 kk。

请你求出满足条件 (ai⊕aj)(ai2⊕aj2)≡k(modp)(a_i \oplus a_j)(a_i^2 \oplus a_j^2) \equiv k \pmod{p} 的下标对 (i,j)(i, j) 的数量(1≤i<j≤n1 \le i < j \le n)。

其中 ⊕\oplus 表示按位异或运算。

输入格式

第一行包含三个整数 n,p,kn, p, k(2≤n≤3⋅1052 \le n \le 3 \cdot 10^5,2≤p≤1092 \le p \le 10^9,0≤k≤p−10 \le k \le p-1)。保证 pp 是质数。

第二行包含 nn 个整数 a1,a2,…,ana_1, a_2, \ldots, a_n(0≤ai≤p−10 \le a_i \le p-1)。保证所有元素互不相同。

输出格式

输出一个整数,表示满足条件的下标对数量。

输入输出样例

  • 输入#1

    3 3 2
    0 1 2

    输出#1

    1
  • 输入#2

    6 11 2
    1 3 5 6 7 8

    输出#2

    3

说明/提示

在第一个样例中:

(0⊕1)(02⊕12)=1≡1(mod3)(0\oplus1)(0^2 \oplus 1^2) = 1 \equiv 1 \pmod{3}。

(0⊕2)(02⊕22)=8≡2(mod3)(0\oplus2)(0^2 \oplus 2^2) = 8 \equiv 2 \pmod{3}。

(1⊕2)(12⊕22)=15≡0(mod3)(1\oplus2)(1^2 \oplus 2^2) = 15 \equiv 0 \pmod{3}。

因此只有 11 对满足条件。

在第二个样例中,有 33 对满足条件,分别是 (1,5)(1, 5)、(1,6)(1, 6)、(3,6)(3, 6)。

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页