A16767 | Monster Game
时间限制1s
内存限制256MB
通过 / 提交0/0
题目描述
你收到了一款名为“Elatyh”的新游戏。游戏中,你会获得 $ n $ 把剑,每把剑都有自己的力量值。具体来说,编号为 $ i $ 的剑的力量值为 $ a_i $。游戏包含 $ n $ 个关卡,每个关卡都有一个怪物。
你从第 $ 1 $ 关开始,逐步前进。为了通过第 $ i $ 关并进入第 $ i + 1 $ 关,你需要击败第 $ i $ 关的怪物。为了击败第 $ i $ 关的怪物,你需要用剑攻击它 $ b_i $ 次。游戏中的剑非常脆弱,每把剑只能攻击一次,之后就会损坏。如果你完成了第 $ n $ 关或者剑用完了,你可以结束游戏并进入分数计算阶段。
在游戏开始前,你可以选择难度级别。如果你选择难度 $ x $,那么力量值小于 $ x $ 的剑将无法对怪物造成伤害。在这种情况下,游戏得分等于 $ x $ 乘以完成的关卡数。你的任务是选择合适的游戏难度,以最大化游戏得分。
你从第 $ 1 $ 关开始,逐步前进。为了通过第 $ i $ 关并进入第 $ i + 1 $ 关,你需要击败第 $ i $ 关的怪物。为了击败第 $ i $ 关的怪物,你需要用剑攻击它 $ b_i $ 次。游戏中的剑非常脆弱,每把剑只能攻击一次,之后就会损坏。如果你完成了第 $ n $ 关或者剑用完了,你可以结束游戏并进入分数计算阶段。
在游戏开始前,你可以选择难度级别。如果你选择难度 $ x $,那么力量值小于 $ x $ 的剑将无法对怪物造成伤害。在这种情况下,游戏得分等于 $ x $ 乘以完成的关卡数。你的任务是选择合适的游戏难度,以最大化游戏得分。
输入格式
每个测试包含多个测试用例。第一行包含一个整数 $ t $($ 1\le t\le 10^4 $)——测试用例的数量。接下来描述每个测试用例。
每个测试用例的第一行包含一个整数 $ n $($ 1\le n\le 2 \cdot 10^5 $)。
每个测试用例的第二行包含 $ n $ 个整数 $ a_1, a_2, \dots, a_n $($ 1\le a_i\le 10^9 $)。
每个测试用例的第三行包含 $ n $ 个整数 $ b_1, b_2, \dots, b_n $($ 1\le b_i\le n $)。
保证所有测试用例的 $ n $ 值之和不超过 $ 2 \cdot 10^5 $。
每个测试用例的第一行包含一个整数 $ n $($ 1\le n\le 2 \cdot 10^5 $)。
每个测试用例的第二行包含 $ n $ 个整数 $ a_1, a_2, \dots, a_n $($ 1\le a_i\le 10^9 $)。
每个测试用例的第三行包含 $ n $ 个整数 $ b_1, b_2, \dots, b_n $($ 1\le b_i\le n $)。
保证所有测试用例的 $ n $ 值之和不超过 $ 2 \cdot 10^5 $。
输出格式
对于每个测试用例,输出一个整数——最大的游戏得分。
输入输出样例
输入 #1
5 3 1 3 4 2 1 1 2 2 3 1 1 4 1 2 3 4 2 2 1 1 6 4 4 1 4 5 4 2 2 4 1 2 2 10 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1 1 1 1 1 1 1 1 1 1
输出 #1
3 4 3 8 10000000000
考虑第一个测试用例。最优的难度选择是 $ 3 $。如果难度是 $ 3 $,你可以使用第 $ 2 $ 和第 $ 3 $ 把剑进行攻击。用 $ 2 $ 把剑可以完成 $ 1 $ 关,因此游戏得分为 $ 3\cdot 1 = 3 $。
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?