酷代码 AI
菜单
服务商

题目描述 扶苏在游戏中的角色有一个被称为「精神力」的属性,初始时,这一属性为 x0​。 扶苏的仓库里有 n 件挂件,对于第 i 件挂件,只有当人物的精神力不低于 ai​ 时才能装备该挂件,装备该挂件后,人物的精神力会增加 bi​。 现在,扶苏希望按照从 1 到 n 的顺序依次尝试装备每件挂件。策略是:当尝试装备某件挂件时,如果满足装备该挂件的条件(也就是人物的精神力不低于 ai​),则装备该挂件(此时人物的精神力会增加 bi​);否则不装备该挂件,以后也不再考虑该挂件。 请你求出,扶苏一共装备了几件挂件。 输入格式 第一行是两个整数,表示挂件数量 n 和初始的精神力 x 0 。 第二行有 n 个整数,第 i 个整数表示装备挂件 i 最少需要的精神力值 ai。 第三行有 n 个整数,第 i 个整数表示装备挂件 i 后增加的精神力值 bi。 输出格式 输出一行一个整数,表示扶苏装备的挂件数量。 输入样例1 3 1 1 3 2 1 1 1 输出样例1 2 说明/提示 样例 1 解释 初始扶苏的精神力为 1。 她开始考虑第一件挂件,装备第一件挂件需要的精神力不低于 1,符合要求

```cpp #include <iostream> using namespace std; const int MAXN = 100005; int a[MAXN], b[MAXN]; int main() { int n, x0; cin >> n >> x0; for (int i = 0; i < n; i++) { cin >> a[i]; } for (int i = 0; i < n; i++) { cin >> b[i]; } int count = 0; for (int i = 0; i < n; i++) { if (x0 >= a[i]) { x0 += b[i]; count++; } } cout << count << endl; return 0; } ``` 代码解释 1. 输入处理:首先读取挂件数量 `n` 和初始精神力 `x0`。接着分别读取每件挂件需要的精神力值 `a[i]` 和装备后增加的精神力值 `b[i]`。 2. 遍历挂件:使用 `for` 循环从第 1 件挂件到第 `n` 件挂件依次进行检查。对于每件挂件,如果当前精神力 `x0` 不低于该挂件需要的精神力 `a[i]`,则装备该挂件,将精神力增加 `b[i]`,并将装备挂件的数量 `count` 加 1。 3. 输出结果:循环结束后,输出装备的挂件数量 `count`。 [2025-11-10 19:29:51 | AI问答 | 352点数解答]

相关提问
发财导航,免费问AI
实用工具查看更多