AT_wupc2019_j.Color Ball

通过率:0%

AC君温馨提醒

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

题目描述

有 NN 个颜色各不相同的筒,每个筒中装有与筒颜色相同的 a1,a2,…,aNa_1, a_2, \dots, a_N 个球。所有筒中的球加起来共有 MM 个。

每个筒的宽度恰好能放下一个球。保证没有空筒。

绫子想到了如下的玩法:她要将筒中的球取出并重新放入,要求满足以下条件:

  • 每个筒中球的数量与初始状态相同。
  • 每个筒中球的颜色都与该筒的颜色不同。

请问有多少种满足条件的放球方式?请输出答案对 109+710^9+7 取模后的结果。

注意,同色球之间不区分,但要区分每个筒中球的排列顺序。

输入格式

输入从标准输入读入,格式如下:

N M
a_1 a_2 \dots a_N

输出格式

请输出满足条件的方案数,输出一行。

输入输出样例

  • 输入#1

    2 4
    2 2

    输出#1

    1
  • 输入#2

    3 5
    2 2 1

    输出#2

    4
  • 输入#3

    4 15
    2 2 1 10

    输出#3

    0

说明/提示

限制条件

  • 1≤N≤20001 \leq N \leq 2000
  • 1≤M≤20001 \leq M \leq 2000
  • 1≤ai≤M1 \leq a_i \leq M
  • ∑ai=M\sum a_i = M
  • 所有输入均为整数。

样例解释 1

只有如下图所示的两球互换的方式满足条件,因此答案为 1。

样例解释 2

如下图所示,答案为 4。

样例解释 3

无论如何放球,都无法满足条件。

由 ChatGPT 4.1 翻译

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

首页