该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
题目背景
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)
你是否对范畴论很感兴趣呢?
题目描述
给定一个长度为 n 的序列 a1,a2,…,an,以及一个实数 x(0≤x≤1)。
定义 a 的一个长度为 k 的子序列 ap1,ap2,…,apk 的分数为 i=1∑kapi×xi−1。p 需要满足 1≤p1<p2<…<pk≤n。
m 次询问,每次给定 k,你需要回答长度不超过 k 的所有子序列中,最大的分数是多少。
Notice
0 的 0 次方为1
输入格式
第一行三个整数 n,m,x0,其中 x0=105⋅x。
第二行 n 个整数 a1,a2,…,an。
接下来 m 行,每行一个整数,第 i 行的整数为 ki。
输出格式
m 行,每行一个实数表示答案。
你的答案被视为是正确的,当且仅当你的答案和标准答案的绝对或相对误差在 10−6 以内。
样例一
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。
限制与约定
| 测试点编号 |
n |
m |
特殊限制 |
| 1 |
≤5 |
无 |
| 2 |
≤1000 |
| 3 |
≤5000 |
| 4 |
≤105 |
| 5 |
| 6 |
≤5×105 |
≤2×105 |
x≤0.75 |
| 7 |
ki=n |
| 8 |
n−ki≤100 |
| 9 |
无 |
| 10 |
≤106 |
对于 100% 的数据,1≤n≤106,1≤m≤2×105,0≤x0≤105,1≤ai≤105。