#CF1909F1. 小排列问题(简单版)

小排列问题(简单版)

小排列问题(简单版)

  • 时间限制:2 秒
  • 内存限制:256 MiB

题目描述

给定 nn 和数组 a1,…,ana_1,\ldots,a_n。一个 11 到 nn 的排列 pp 是好的,当且仅当对每个 ii,前缀 p1,…,pip_1,\ldots,p_i 中不超过 ii 的数恰有 aia_i 个。

求好排列数量,答案对 998244353998244353 取模。

输入格式

第一行是测试组数 tt。每组第一行是 nn,第二行是 nn 个整数 aia_i。

输出格式

每组输出一个答案。

样例输入 1

5
5
1 2 3 4 5
6
0 2 2 2 4 6
6
0 1 3 4 5 5
6
1 2 3 2 4 6
15
0 0 1 1 1 2 3 4 5 6 7 9 11 13 15

样例输出 1

1
4
0
0
532305727

数据范围

1≤t≤1041\le t\le10^4,1≤n≤2000001\le n\le200000,0≤ai≤n0\le a_i\le n,所有测试组的 nn 之和不超过 200000200000。

子任务编号 分值 特殊限制
1 20 每组 n≤9n\le 9
2 40 每组均满足 ai=ia_i=i
3 无特殊限制