5 条题解

  • 0
    @ 2025-12-20 19:59:51
    #include <bits/stdc++.h>
    using namespace std;
    typedef long long ll;
    int presum[100005]={0};
    
    int main(){
        int n;
        cin >> n;
        
        // 构建前缀和数组
        for(int i=1;i<=n;i++){
            int a;
            cin>>a;
            presum[i]=presum[i-1]+a;
        }
        
        // 查找中心下标
        for(int i=1;i<=n;i++){
            // 左侧和:presum[i-1]
            // 右侧和:presum[n] - presum[i]
            if(presum[i-1] == presum[n] - presum[i]){
                cout << i;  // 1-based索引
                return 0;
            }
        }
        
        cout << -1;  // 没找到中心下标
        return 0;
    }
    

    信息

    ID
    19320
    时间
    1000ms
    内存
    32MiB
    难度
    10
    标签
    (无)
    递交数
    6
    已通过
    4
    上传者