QOJ.ac

QOJ

حد الوقت: 1 s حد الذاكرة: 2048 MB مجموع النقاط: 100

#2312. 常见错误

الإحصائيات

在无畏舰和战列舰时代,人们喜欢在军舰上堆砌尽可能多的火炮以增强火力。然而,这是一个常见的错误。安装过多的火炮会降低机动性和灵活性,最终反而降低了军舰的整体作战效率。

给定 $N$ 门可用的火炮,你需要负责做出最优选择,以使军舰的作战效率最大化。

你将使用以下简化模型: 每门火炮都有重量 $w_i$ 和威力 $p_i$。 军舰有 $K$ 个载重范围。当所选所有火炮的总重量处于载重范围 $[l_i, r_i]$ 内时,军舰的作战效率计算公式为 $m_i \sum_j p_j$,其中 $m_i$ 是与该载重范围相关的修正系数,$j$ 表示所有被选中的火炮的索引。

注意,$m_i$ 不一定会随着 $l_i$ 的增加而减小,因为拥有更多的火炮也会带来船员的自豪感并提高士气。这反过来会提高整艘军舰的作战效率。

装备 9 门 46 厘米火炮的大和号

输入格式

第一行包含一个整数 $N(1 \le N \le 200)$,表示可用的火炮数量。 接下来的 $N$ 行,每行包含两个非负整数 $w_i, p_i(1 \le w_i, p_i \le 100)$。 下一行包含一个整数 $K(2 \le K \le 200)$,表示载重范围的数量。 接下来的 $K$ 行,每行包含两个数字 $l_i, m_i$,第一个整数是该载重范围的起始重量 $l_i(0 \le l_i \le 20000)$。第二个数字是一个实数,即威力修正系数 $m_i(0 \le m_i \le 10)$。

保证载重范围按 $l_i$ 的递增顺序给出,因此 $l_0$ 总是 $0$。所有的 $l_i$ 值各不相同。隐含条件为 $r_i = l_{i+1} - 1$,且 $r_K$ 的值不重要(你可以将其视为无穷大)。 同时保证最后一个载重范围的威力修正系数总是 $0$,这可以被视为超过了该军舰的最大载重能力。

输出格式

输出一行,包含一个数字,表示军舰的最大作战效率。浮点数需保留小数点后 3 位。

样例

样例输入 1

3
10 30
20 40
20 40
4
0 1.0
20 2.5
50 1.8
60 0

样例输出 1

200.000

样例输入 2

2
100 100
200 200
2
0 2.5
10 0

样例输出 2

0.000

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.