bzoj#P4036. [HAOI2015]按位或

[HAOI2015]按位或

题目描述

刚开始你有一个数字 00,每一秒钟你会随机选择一个 [0,2n1][0,2^n-1] 的数字,与你手上的数字进行或(C++,C 的 |,pascal 的 or)操作。选择数字 ii 的概率是 pip_i。保证 0pi10\leq p_i \leq 1pi=1\sum p_i=1。问期望多少秒后,你手上的数字变成 2n12^n-1

输入格式

第一行输入 nn 表示 nn 个元素,第二行输入 2n2^n 个数,第 ii 个数表示选到 i1i-1 的概率。

输出格式

仅输出一个数表示答案,绝对误差或相对误差不超过 10610^{-6} 即可算通过。如果无解则要输出 INF

2
0.25 0.25 0.25 0.25
2.6666666667

数据范围

对于 100%100\% 的数据,n20n\leq 20