AT_abc335_g.[ABC335G] Discrete Logarithm Problems

NOI/NOI+/CTSC

通过率:0%

AC君温馨提醒

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

题目描述

给定 NN 个整数 A1,…,ANA_1,\ldots,A_N 和一个素数 PP。请你计算满足以下条件的整数对 (i,j)(i, j) 的个数。

  • 1≤i,j≤N1 \leq i, j \leq N。
  • 存在某个正整数 kk,使得 Aik≡Aj(modP)A_i^k \equiv A_j \pmod{P}。

输入格式

输入以以下格式从标准输入读入。

NN PP A1A_1 A2A_2 …\ldots ANA_N

输出格式

请输出答案。

输入输出样例

  • 输入#1

    3 13
    2 3 5

    输出#1

    5
  • 输入#2

    5 2
    1 1 1 1 1

    输出#2

    25
  • 输入#3

    10 9999999999971
    141592653589 793238462643 383279502884 197169399375 105820974944 592307816406 286208998628 34825342117 67982148086 513282306647

    输出#3

    63

说明/提示

限制条件

  • 2≤N≤2×1052 \leq N \leq 2 \times 10^5
  • 1≤Ai<P1 \leq A_i < P
  • 2≤P≤10132 \leq P \leq 10^{13}
  • PP 是素数
  • 所有输入均为整数

样例解释 1

满足条件的 55 个数对为 (1,1),(1,2),(1,3),(2,2),(3,3)(1,1),(1,2),(1,3),(2,2),(3,3)。例如对于 (1,3)(1,3),取 k=9k=9 时,有 A19=512≡5=A3(mod13)A_1^9 = 512 \equiv 5 = A_3 \pmod{13}。

由 ChatGPT 4.1 翻译

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

首页