4538 - 奇怪的分组
时间限制 : 1 秒
内存限制 : 128 MB
终于解出了 dm 同学的难题,dm 同学同意帮 v 神联络。可 dm 同学有个习惯,就是联络同学的时候喜欢分组联络,而且分组的方式也很特别,要求第 i 组的的人数必须大于他指定的个数 C_i。在 dm 同学联络的时候,v 神在想,按照 dm 同学的规则一共可以有多少种方案呢?他想啊想,终于……没想出来。于是他又想到了聪明的你,你能帮 v 神算出按照 dm 同学的规则有多少种分组方案吗?
输入
第一行两个整数 N 和 M,后面有 M 行,每行一个整数,表示 C_i。
输出
仅有一行,一个整数,方案数模 10^9+7 的值。
样例
输入
10 3 1 2 3
输出
3
提示
方案有三种,每组的个数分别是 (3,3,4),(2,4,4),(2,3,5)。
数据范围约定
对于 30\% 的数据,N,M\le 10。
对于 60\% 的数据,N,M\le 1000。
对于 100\% 的数据,1\le N ,M\le 10^6,1\le C_i\le 1000。
数据保证至少有一个方案。 i
来源
luogu