A18840.CharyChung和HashBuke的数字游戏

入门

官方

通过率:0%

时间限制:1.00s

内存限制:128MB

题目描述

给定一个正整数 mm,一个非负整数 a(0a<m)a(0 \leq a < m),以及一个正整数序列 A=(A1,,AN)A=(A_1, \ldots, A_N)

定义一组正整数集合 XX,其中 X={x>0xa(modm)}X=\{x > 0 | x \equiv a \, (\text{mod} \, m)\}

CharyChung和HashBuke将轮流进行游戏,CharyChung先开始:

选择一个索引 ii1iN1 \leq i \leq N)和一个属于 XX 的正整数 xx,使得 xAix \leq A_i,然后将 AiA_i 替换为 AixA_i - x。如果没有这样的 i,xi, x,当前玩家输掉游戏并且游戏结束。
找出在CharyChung首次操作时,如果双方之后都采取最优策略,CharyChung能赢得游戏的 i,xi, x 对的数量,结果对 998244353998244353 取模。

输入格式

N m aN\ m\ a
A1 A2  ANA_1\ A_2 \ \dots\ A_N
数据范围:

  • 1N3×1051 \leq N \leq 3 \times 10^5
  • 0a<m1090 \leq a < m \leq 10^9
  • max(1,a)Ai1018max(1, a) \leq A_i \leq 10^{18}

输出格式

打印出CharyChung在首次操作时可以选择的满足条件的 i,xi, x 对的数量,结果对 998244353998244353 取模。

输入输出样例

  • 输入#1

    3 1 0
    5 6 7

    输出#1

    3
  • 输入#2

    5 10 3
    5 9 18 23 27

    输出#2

    3
  • 输入#3

    4 10 8
    100 101 102 103

    输出#3

    0

说明/提示

样例1:
我们有集合 X={1,2,3,4,5,}X=\{1,2,3,4,5,\ldots\}。满足条件的三对 (i,x)(i,x) 为:(1,4),(2,4),(3,4)(1,4), (2,4), (3,4)

样例2:
我们有集合 X={3,13,23,33,43,}X=\{3,13,23,33,43,\ldots\}。满足条件的三对 (i,x)(i,x) 是:(4,23),(5,3),(5,13)(4,23), (5,3), (5,13)

样例3:
即使CharyChung采取最优策略,他也无法获胜。因此,没有任何一对(i,x)(i,x)满足条件。

样例4:
833333333333334833333333333334(i,x)(i,x) 满足条件。将这个数量对 998244353998244353 取模后打印出来。

首页