测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

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

编程题 NOI/NOI+/CTSC

题目描述

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

省选选拔共计 $n$ 场,第 $i$ 场的前 $a_i$ 名获得省选资格。

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

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

输入格式

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

接下来 $n$ 个数 $a_1\sim a_n$ 每场的名额数

随后 $q$ 行,每行三个数 $l, r, x$

输出格式

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

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

输入输出样例

输入 #1
3 3 
1 2 3
1 1 4
1 2 4
1 3 4
输出 #1
0.2500000000
0.6250000000
0.9062500000
输入 #2
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
输出 #2
0.9806625000
0.6646667215
0.6266061980
0.4417833108
0.0892857143
0.7695473251
0.0063826566

说明/提示

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

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

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

对于 $100\%$ 的数据 $1 \leq n, q \leq 600000$,$1 \leq x \leq 10^9$,$1 \leq a_i \leq 10^9$,$1 \leq l \leq r \leq n$

由于 Moorhsum 显然不能稳进省选,数据保证对于**任意** $i$,$a_i < x$(即 $x > \max(a_1, a_2, ..., a_n)$)
上一题 去做题 下一题