A1800 | CharyChung和HashBuke的数字游戏
时间限制1s
内存限制128MB
通过 / 提交0/0
题目描述
给定一个正整数 $m$,一个非负整数 $a(0 \leq a < m)$,以及一个正整数序列 $A=(A_1, \ldots, A_N)$。
定义一组正整数集合 $X$,其中 $X=\{x > 0 | x \equiv a \, (\text{mod} \, m)\}$。
CharyChung和HashBuke将轮流进行游戏,CharyChung先开始:
选择一个索引 $i$($1 \leq i \leq N$)和一个属于 $X$ 的正整数 $x$,使得 $x \leq A_i$,然后将 $A_i$ 替换为 $A_i - x$。如果没有这样的 $i, x$,当前玩家输掉游戏并且游戏结束。
找出在CharyChung首次操作时,如果双方之后都采取最优策略,CharyChung能赢得游戏的 $i, x$ 对的数量,结果对 $998244353$ 取模。
定义一组正整数集合 $X$,其中 $X=\{x > 0 | x \equiv a \, (\text{mod} \, m)\}$。
CharyChung和HashBuke将轮流进行游戏,CharyChung先开始:
选择一个索引 $i$($1 \leq i \leq N$)和一个属于 $X$ 的正整数 $x$,使得 $x \leq A_i$,然后将 $A_i$ 替换为 $A_i - x$。如果没有这样的 $i, x$,当前玩家输掉游戏并且游戏结束。
找出在CharyChung首次操作时,如果双方之后都采取最优策略,CharyChung能赢得游戏的 $i, x$ 对的数量,结果对 $998244353$ 取模。
输入格式
$N\ m\ a$
$A_1\ A_2 \ \dots\ A_N$
数据范围:
- $1 \leq N \leq 3 \times 10^5$
- $0 \leq a < m \leq 10^9$
- $max(1, a) \leq A_i \leq 10^{18}$
$A_1\ A_2 \ \dots\ A_N$
数据范围:
- $1 \leq N \leq 3 \times 10^5$
- $0 \leq a < m \leq 10^9$
- $max(1, a) \leq A_i \leq 10^{18}$
输出格式
打印出CharyChung在首次操作时可以选择的满足条件的 $i, x$ 对的数量,结果对 $998244353$ 取模。
输入输出样例
输入 #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,\ldots\}$。满足条件的三对 $(i,x)$ 为:$(1,4), (2,4), (3,4)$。
样例2:
我们有集合 $X=\{3,13,23,33,43,\ldots\}$。满足条件的三对 $(i,x)$ 是:$(4,23), (5,3), (5,13)$。
样例3:
即使CharyChung采取最优策略,他也无法获胜。因此,没有任何一对$(i,x)$满足条件。
样例4:
有 $833333333333334$ 对 $(i,x)$ 满足条件。将这个数量对 $998244353$ 取模后打印出来。
我们有集合 $X=\{1,2,3,4,5,\ldots\}$。满足条件的三对 $(i,x)$ 为:$(1,4), (2,4), (3,4)$。
样例2:
我们有集合 $X=\{3,13,23,33,43,\ldots\}$。满足条件的三对 $(i,x)$ 是:$(4,23), (5,3), (5,13)$。
样例3:
即使CharyChung采取最优策略,他也无法获胜。因此,没有任何一对$(i,x)$满足条件。
样例4:
有 $833333333333334$ 对 $(i,x)$ 满足条件。将这个数量对 $998244353$ 取模后打印出来。
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?