AT_mujin_pc_2018_f.チーム分け

省选/NOI-

通过率:0%

AC君温馨提醒

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

题目描述

将 NN 个人分组,每个人只能属于一个团队。

然而,有些人不希望加入人数过多的团队。

这个条件由一个长度为 NN 的整数序列 aa 给出,第 ii 个人只能被分配到人数不超过 aia_i 的团队中。

你想计算满足这些条件的分组方案数。由于答案可能非常大,请输出其对 998244353998244353 取模的结果。两种分组方案不同,指的是存在某两个人,在一种方案中属于同一团队,而在另一种方案中属于不同团队。

输入格式

输入通过标准输入按以下格式给出。

NN a1a_1 a2a_2 ... aN−1a_{N-1} aNa_N

输出格式

请输出满足条件的分组方案数对 998244353998244353 取模的结果。

输入输出样例

  • 输入#1

    1
    1

    输出#1

    1
  • 输入#2

    3
    3 3 2

    输出#2

    4
  • 输入#3

    10
    3 1 4 1 5 9 2 6 3 10

    输出#3

    1869

说明/提示

限制条件

  • 1≤N≤10001 \leq N \leq 1000
  • 1≤ai≤N1 \leq a_i \leq N
  • 输入均为整数

样例解释 1

将 11 个人分组的方法只有 11 种。

样例解释 2

满足条件的分组方案有 ((1),(2),(3)), ((1,2),(3)), ((1,3),(2)), ((2,3),(1))((1),(2),(3)),\ ((1,2),(3)),\ ((1,3),(2)),\ ((2,3),(1)) 共 44 种。

由 ChatGPT 4.1 翻译

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

首页