比赛场次 | 188 |
---|---|
比赛名称 | 20121121 |
比赛状态 | 已结束比赛成绩 |
开始时间 | 2012-11-21 19:00:00 |
结束时间 | 2012-11-21 21:00:00 |
开放分组 | 全部用户 |
注释介绍 |
题目名称 | 摆花 |
---|---|
输入输出 | flower.in/out |
时间限制 | 1000 ms (1 s) |
内存限制 | 128 MiB |
测试点数 | 10 简单对比 |
用户 | 结果 | 时间 | 内存 | 得分 |
---|---|---|---|---|
cstdio | AAAAAAAAAA | 0.012 s | 3.15 MiB | 100 |
ok | AAAAWWWWWW | 0.012 s | 3.16 MiB | 40 |
1azyReaper | WWWWWWWWWW | 0.003 s | 3.28 MiB | 0 |
Satoshi | WWWWWWWWWW | 0.010 s | 3.19 MiB | 0 |
小明的花店新开张,为了吸引顾客,他想在花店的门口摆上一排花,共m盆。通过调查顾客的喜好,小明列出了顾客最喜欢的n种花,从1到n标号。为了在门口展出更多种花,规定第i 种花不能超过ai 盆,摆花时同一种花放在一起,且不同种类的花需按标号的从小到大的顺序依次摆列。
试编程计算,一共有多少种不同的摆花方案。
输入共2行。
第一行包含两个正整数n和m,中间用一个空格隔开。
第二行有n个整数,每两个整数之间用一个空格隔开,依次表示a1、a2、……an。
输出只有一行,一个整数,表示有多少种方案。注意:因为方案数可能很多,请输出方案数对1000007取模的结果。
2 4 3 2
2
有2种摆花的方案,分别是(1,1,1,2), (1,1,2,2)。括号里的1和2表示两种花,比如第一个方案是前三个位置摆第一种花,第四个位置摆第二种花。
对于20%数据, 有0<n≤8,0<m≤8,0≤ai≤8;
对于50%数据, 有0<n≤20,0<m≤20,0≤ai≤20;
对于100%数据,有0<n≤100,0<m≤100,0≤ai≤100。