酷代码 AI
菜单
服务商

C++ 实现查询指定范围内最大伤势问题

以下是使用 C++ 实现上述功能的代码: ```cpp #include <iostream> #include <vector> using namespace std; int main() { int n, q; // 输入 n 和 q cin >> n >> q; vector<int> injuries(n); // 输入每个人的伤势 for (int i = 0; i < n; i++) { cin >> injuries[i]; } for (int i = 0; i < q; i++) { int L, R; // 输入每次询问的范围 cin >> L >> R; // 注意输入的 L 和 R 是从 1 开始的,需要转换为从 0 开始的索引 L--; R--; int max_injury = injuries[L]; // 找出指定范围内的最大伤势 for (int j = L; j <= R; j++) { if (injuries[j] > max_injury) { max_injury = injuries[j]; } } // 输出结果 cout << max_injury << endl; } return 0; } ``` ### 代码解释: 1. **输入处理**:首先读取 `n` 和 `q`,分别表示归零者手下的人数和询问的次数。然后读取每个人的伤势,存储在 `vector` 中。 2. **询问处理**:对于每次询问,读取范围 `L` 和 `R`,并将其转换为从 0 开始的索引。 3. **查找最大值**:在指定范围内遍历,找出最大的伤势。 4. **输出结果**:输出每次询问的最大伤势。 ######[AI问答 | 410点数解答 | 2026-03-13 19:26:14]

相关提问
本站限时免费提问中
实用工具查看更多
Linux在线手册 [开发类]
Jquery在线手册 [开发类]
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]