CF175E Power Defence

题目描述

Vasya 正在玩 Power Defence 游戏。 他必须通过游戏的最后一关。为此,他需要击败主反派。主反派以 $1$ 米每秒的速度沿直线从游戏世界中的点 $(-\infty,0)$ 移动到 $(+\infty,0)$。Vasya 可以在 $(x,1)$ 和 $(x,-1)$ 这些点上建造三种类型的炮塔:火焰炮塔、电塔和冰冻炮塔,其中 $x$ 为整数。同一个点不允许建造两座炮塔。每种类型的炮塔都有一定的作用半径以及每秒伤害值(冰冻炮塔除外)。如果主反派此时处于 $k$ 个冰冻炮塔作用范围内,那么他的速度会降低为原来的 $\dfrac{1}{k+1}$。 每种炮塔允许建造的数量已知。请你计算我们最多能对主反派造成多少伤害。 本题中的所有距离均以米为单位。主反派和炮塔的体积可以忽略,视为平面上的点。当主反派到炮塔的距离小于等于该炮塔的作用半径时,就处于其作用范围内。

输入格式

第一行包含三个整数 $nf, ne, ns$,表示最多可以建造的火焰炮塔、电塔和冰冻炮塔的数量,$(0 \leq nf, ne, ns \leq 20, 1 \leq nf+ne+ns \leq 20)$。数字之间用空格隔开。 第二行包含三个整数 $rf, re, rs$,表示火焰炮塔、电塔和冰冻炮塔的作用半径,$(1 \leq rf, re, rs \leq 1000)$。数字之间用空格隔开。 第三行包含两个整数 $df, de$,分别表示火焰炮塔和电塔每秒对主反派造成的伤害,$(1 \leq df, de \leq 1000)$。数字之间用空格隔开。

输出格式

输出一个实数,表示对主反派能够造成的最大伤害,误差不超过 $10^{-6}$。

说明/提示

在第一个样例中,我们只有一座火焰炮塔,无论其放置在哪里,输出的伤害都是固定的。 在第二个样例中,我们有另一座作用半径相同的冰冻炮塔。如果把两座炮塔相对而建,则当主反派进入火焰炮塔作用半径时,会同时进入两座冰冻炮塔的作用半径,此时主反派的速度会减慢为原来的二分之一,因此在火焰炮塔的攻击范围内受到的伤害将是两倍。 由 ChatGPT 5 翻译