题目描述
给定一个由正整数组成的 N 元素多重集 A={A1,A2,…,AN}。
你可以任意次数(也可以不进行操作)重复以下操作:
- 选择一个在 A 中出现次数不少于 2 的正整数 x。从 A 中删除 2 个 x,并向 A 中添加 1 个 x+1。
请你求出最终可能得到的 A 的不同多重集的个数,并对 998244353 取模后输出。
输入格式
输入以以下格式从标准输入给出。
N A1 A2 … AN
输出格式
输出答案。
样例 1
输入
4
1 1 2 4
输出
3
样例 2
输入
5
1 2 3 4 5
输出
1
样例 3
输入
13
3 1 4 1 5 9 2 6 5 3 5 8 9
输出
66
说明/提示
限制条件
- 1≤N≤2×105
- 1≤Ai≤2×105
样例解释 1
最终可能得到的 A 有 {1,1,2,4}、{2,2,4}、{3,4} 共 3 种。{3,4} 可以通过如下方式得到:
- 选择 x=1,从 A 中删除 2 个 1,添加 1 个 2,此时 A={2,2,4}。
- 选择 x=2,从 A 中删除 2 个 2,添加 1 个 3,此时 A={3,4}。
由 ChatGPT 4.1 翻译