bzoj#P2676. Contra

Contra

题目描述

偶然间,chnlich 发现了他小时候玩过的一个游戏“魂斗罗”,于是决定怀旧。但是这是一个奇怪的魂斗罗 MOD。

NN 个关卡,初始有 QQ 条命。每通过一个关卡,会得到 uu 分和 11 条命,生命上限为 QQ。其中u=min(最近一次连续通过的关数,R)u=min(最近一次连续通过的关数,R)。若没有通过这个关卡,将会失去 11 条命,并进入下一个关卡。当没有生命或没有未挑战过的关卡时,游戏结束,得到的分数为每关得到的分数的总和。

由于 chnlich 好久不玩这个游戏了,每条命通过每个关卡的概率均为 p(0p1)p(0\le p\le 1),原先 chnlich 的最高分纪录是 SS。 现在 chnlich 想要知道,当 pp 至少为多少时,chnlich 期望获得的总分数能够超过原先的最高分。

输入格式

输入共一行,分别表示整数 NN,整数 RR,整数 QQ,原先的最高分整数 SS

输出格式

输出共一行,若不存在这样的 pp,输出 Impossible.,否则输出 pp(保留 66 位小数)。

样例

4 2 1 5
0.880606
12 3 2 12
0.687201

数据规模与约定

对于 20%20\% 的数据,N15N\le 15

对于50%的数据,N<=10000 对于100%的数据,N<=10^8,1<=R<=20,1<=Q<=5,保证S是一个可能出现的分数。

提示

例如,当 N=12,R=3,Q=2N=12,R=3,Q=2 时。

第一关:未通过 u=0u=0 获得分数 00 总分为 00 剩余生命 11

第二关:通过 获得分数 11 总分为 11 剩余生命 22

第三关:通过 获得分数 22 总分为 33 剩余生命 22

第四关:通过 获得分数 33 总分为 66 剩余生命 22

第五关:通过 获得分数 33 总分为 99 剩余生命 22

第六关:未通过 获得分数 00 总分为 99 剩余生命 11

第七关:通过 获得分数 11 总分为 1010 剩余生命 22

第八关:未通过 获得分数 00 总分为 1010 剩余生命 11

第九关:未通过 获得分数 00 总分为 1010 剩余生命 00

游戏结束 总分为 1010

这是 chnlich 游戏的一种可能性。