#14. 方可特尔(functor)

方可特尔(functor)

题目背景

data Maybe a = Nothing | Just a
instance Functor Maybe where
	-- fmap :: (a -> b) -> Maybe a -> Maybe b
	fmap _ Nothing = Nothing
	fmap g (Just x) = Just (g x) 

你是否对范畴论很感兴趣呢?

题目描述

给定一个长度为 nn 的序列 a1,a2,,ana_1,a_2,\ldots,a_n,以及一个实数 xx0x10\le x\le 1)。

定义 aa 的一个长度为 kk子序列 ap1,ap2,,apka_{p_1},a_{p_2},\ldots,a_{p_k} 的分数为 i=1kapi×xi1\sum\limits_{i=1}^k a_{p_i}\times x^{i-1}pp 需要满足 1p1<p2<<pkn1\le p_1\lt p_2\lt \ldots\lt p_k\le n

mm 次询问,每次给定 kk,你需要回答长度不超过 kk 的所有子序列中,最大的分数是多少。

Notice

0 的 0 次方为1

输入格式

第一行三个整数 n,m,x0n,m,x_0,其中 x0=105xx_0=10^5\cdot x

第二行 nn 个整数 a1,a2,,ana_1,a_2,\ldots,a_n

接下来 mm 行,每行一个整数,第 ii 行的整数为 kik_i

输出格式

mm 行,每行一个实数表示答案。

你的答案被视为是正确的,当且仅当你的答案和标准答案的绝对或相对误差10610^{-6} 以内。

样例一

input
5 5 88888
19 15 16 13 18
1
2
3
4
5
output
19
34.99984
47.444017779
57.616518524
65.341825964

样例二

见下发文件中的 functor/functor2.in 以及 functor/functor2.ans

限制与约定

测试点编号 nn mm 特殊限制
11 5\le 5
22 1000\le 1000
33 5000\le 5000
44 105\le 10^5
55
66 5×105\le 5\times 10^5 2×105\le 2\times 10^5 x0.75x\le 0.75
77 ki=nk_i=n
88 nki100n-k_i\le 100
99
1010 106\le 10^6

对于 100%100\% 的数据,1n1061\le n\le 10^61m2×1051\le m\le 2\times 10^50x01050\le x_0\le 10^51ai1051\le a_i\le 10^5