loj#P3401. 「2020-2021 集训队作业」Old Problem

「2020-2021 集训队作业」Old Problem

题目描述

为参加省选,Moorhsum 必须通过省选选拔。

省选选拔共计 nn 场,第 ii 场的前 aia_i 名获得省选资格。

作为 Moorhsum 的好朋友,Goodeat 想算出如果 Moorhsum 只参加第 ll 场到第 rr 场,且每一场的排名在 [1,x][1,x] 中随机产生,那么他获得省选资格的概率。

但是 Goodeat 太莱了,于是他向你求助。你能帮帮他么?

输入格式

第一行两个数 n,qn, q 代表选拔场数和询问次数

接下来 nn 个数 a1ana_1\sim a_n 每场的名额数

随后 qq 行,每行三个数 l,r,xl, r, x

输出格式

对于每次询问,输出一个小数表示若 Moorhsum 只参加第 ll\simrr 场,且每一场的排名在 [1,x][1,x] 中随机时获得名额的概率。

你的答案只要与标准答案差的绝对值在 10610^{-6} 以内即算正确。

3 3 
1 2 3
1 1 4
1 2 4
1 3 4
0.2500000000
0.6250000000
0.9062500000
10 7
3 7 19 6 8 7 2 3 5 4
1 4 20
4 6 23
5 7 21
4 10 63
9 9 56
3 4 27
1 10 10000
0.9806625000
0.6646667215
0.6266061980
0.4417833108
0.0892857143
0.7695473251
0.0063826566

样例 3

见 [ex_gjx3.in](file:ex_gjx3.in) 与 [ex_gjx3.out](file:ex_gjx3.out)

数据范围与提示

对于 20%20\% 的数据 n,q500n, q \leq 500

对于 40%40\% 的数据 n,q5000n, q \leq 5000

另有 30%30\% 的数据 n,q100000n, q \leq 100000l=1l = 1r=nr = n

对于 100%100\% 的数据 1n,q6000001 \leq n, q \leq 6000001x1091 \leq x \leq 10^91ai1091 \leq a_i \leq 10^91lrn1 \leq l \leq r \leq n

由于 Moorhsum 显然不能稳进省选,数据保证对于任意 iiai<xa_i < x(即 x>max(a1,a2,...,an)x > \max(a_1, a_2, ..., a_n)