1 条题解

  • 0
    @ 2026-6-19 10:30:34

    📝 题目大意

    给定一个长度为 NN 的数组 CC,以及两个整数 AABB。在 CC 中找到值等于 A+BA+B 的元素,输出其下标(从 1 开始)。题目保证答案唯一。

    💡 解题思路

    1. 题目分析NN 最多 100100,数据范围非常小,只需线性扫描即可。CiC_i 的值域题目未特别说明,直接用 int 即可。
    2. 算法推导
      • 首先读入 N,A,BN, A, B,计算目标值 target = A + B
      • 遍历 ii11NN,每次读入 CiC_i
      • CiC_i 等于 target,输出 ii 并结束循环。
    3. 边界与细节
      • 题目保证答案唯一且一定存在,无需处理未找到的情况。
      • 下标从 11 开始,注意遍历时计数从 11 起。
      • 找到后直接 break 退出,避免多余操作。

    ⏱️ 复杂度分析

    • 时间复杂度O(N)O(N),最坏情况下扫描整个数组。
    • 空间复杂度O(1)O(1),仅使用常数个变量。

    💻 标准代码 (C++)

    #include <iostream>
    using namespace std;
    int main() {
        int N, A, B;
        cin >> N >> A >> B;
        int target = A + B;          // 计算目标值 A + B
        for (int i = 1; i <= N; i++) {
            int c;
            cin >> c;
            if (c == target) {       // 找到匹配的元素
                cout << i << endl;   // 输出其 1-based 下标
                break;               // 答案唯一,找到即可退出
            }
        }
        return 0;
    }
    
    • 1

    信息

    ID
    706
    时间
    1000ms
    内存
    256MiB
    难度
    10
    标签
    (无)
    递交数
    1
    已通过
    1
    上传者