4. 扑克牌
题目ID:9326必做题100分
最新提交:
Runtime Error
0 分
历史最高:
Runtime Error
0 分
时间限制: 1000ms
空间限制: 65535kB
题目描述
组合数学是数学的重要组成部分,是一门研究离散对象的科学,它主要研究满足一定条件的组态(也称组合模型)的存在、计数以及构造等方面的问题。组合数学的主要内容有组合计数、组合设计、组合矩阵、组合优化等。
随着计算机科学的日益发展,组合数学的重要性也日渐凸显,因为计算机科学的核心内容是使用算法处理离散数据。
今天我们来研究组合数学中的一个有趣的问题,也是一个简单的计数问题:
从一副含有 nn 张的扑克牌(每张扑克牌都不相同)中,分给 mm 个人,第 ii 个人得到 a_iai 张牌,求一共有几种分法,这个数可能非常大,请输出此数模 1000710007 后的结果。
输入格式
第一行两个整数为 nn, mm。
第二行 m 个整数 a_iai 。
输出格式
此数模 1000710007 后的结果。
样例
Input 1
5 2 3 1
Output 1
20
Input 2
20 19 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
Output 2
8707
样例解释
对于 50% 的数据:M=1M=1。对于 100% 的数据:1≤n≤10^41≤n≤104,1≤m≤1001≤m≤100,0≤a_i≤1000≤ai≤100。
数据范围
第一行两个整数为 nn, mm。第二行 m 个整数 a_iai。