3037: 挂科
内存限制:128 MB
时间限制:2.000 S
评测方式:文本比较
命题人:外部导入
提交:6
解决:4
题目描述
小Y非常喜欢学习,但却又经常翘课,现在期末来临,他要挂科了。
期末考中小Y一共考了 n 门课,这 n 门课的分数为 ai,而只要有一门课不及格,他就会留级。
现在小Y不知道每门课及格所要求的分数,他只知道他每一门课的分数都要严格高于这门课的要求分数。不过,小Y有个厉害的技能,那就是换成绩,具体地说,他可以将任意两门课的成绩互换,且他可以互换任意次。
现在他想知道,有多少种及格要求分数能不让他挂科。(及格要求分数自然是非负整数。)
由于答案数可能很大,你只需要输出模 1000000007(109 +7) 后的值即可。
输入
第一行一个整数 T,表示数据组数。
接下来 T 行每行一组数据。每组数据以一个整数 n 开头,表示课程数,后面 n 个整数 ai 表示小Y这 n 门课的成绩。
输出
共 T 行,第 i 行表示第 i 组数据的答案。
样例输入 复制
4
2 1 2
3 2 5 3
4 1 2 3 4
4 9 8 3 5
样例输出 复制
3
74
125
4371
提示
【样例说明】
第一组数据中,合法的要求分数为 : (0, 1), (0, 0), (1, 0)
【数据范围】
20%的数据:n ≤ 7, ai ≤ 10
40%的数据:n ≤ 100, ai ≤ 100
70%的数据:n ≤ 200, ai ≤ 109
100%的数据:1 ≤ n ≤ 1000, 0 ≤ ai ≤ 109, T ≤ 5