F.A.Q
Hand In Hand
Online Acmers
Problem Archive
Realtime Judge Status
Authors Ranklist
 
     C/C++/Java Exams     
ACM Steps
Go to Job
Contest LiveCast
ICPC@China
Best Coder beta
VIP | STD Contests
    DIY | Web-DIY beta
Author ID 
Password 
 Register new ID

艺术台阶

Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65535/102400 K (Java/Others)
Total Submission(s): 77    Accepted Submission(s): 21


Problem Description
你正准备建造一个$n$级台阶来展示你的艺术设计水平。为了让台阶看上去非常错落有致,你决定使用计算机来生成台阶的形状。

你设定了每一级台阶的高度上限$a_1,a_2,\dots,a_n$,计算机会帮你生成每一级台阶的高度$h_i$。计算机会在$[0,a_i]$里均匀随机选择一个实数作为$h_i$。

你立刻就发现,你的程序考虑的太少了——它不一定能生成合法的台阶。一个台阶是合法的,当且仅当$h_1<h_2<\dots<h_{n-1}<h_n$。

你现在想知道,计算机生成出合法台阶的概率是多少?
 

Input
第一行包含一个正整数$T(1\leq T\leq 10)$,表示测试数据的组数。

每组数据第一行包含一个正整数$n(1\leq n\leq 2000)$,表示台阶的级数。

第二行包含$n$个正整数$a_1,a_2,\dots,a_n(1\leq a_i\leq 10^9)$。
 

Output
对于每组数据输出一行一个非负整数,表示合法的概率。

为了避免精度带来的误差,我们可以证明答案一定可以表示成$\frac{A}{B}$的形式。请输出$C$,$C$满足$0\leq C<10^9+7$且$A\equiv B\times C\pmod{10^9+7}$。
 

Sample Input
3 1 5 2 5 5 2 5 6
 

Sample Output
1 500000004 583333338
 

Author
Claris
 

Source
 

Statistic | Submit | Discuss | Note
Hangzhou Dianzi University Online Judge 3.0
Copyright © 2005-2024 HDU ACM Team. All Rights Reserved.
Designer & Developer : Wang Rongtao LinLe GaoJie GanLu
Total 0.000000(s) query 1, Server time : 2024-11-22 17:37:10, Gzip enabled