Advertisement

蓝桥杯第十二届国赛真题:和与乘积

阅读量:
复制代码
    #include <iostream>
    #include <cmath>
    #define ll long long
    
    using namespace std;
    const int N = 200005;
    // 前缀和 除了1的数字 连续的1
    ll sum[N], num[N], oneCnt[N];
    int n = 1;
    int main()
    {
    int k;
    cin >> k;
    for(int i = 0; i < k; i++){
        int tmp;
        cin >> tmp;
        if(tmp == 1){
            sum[n]++;
            oneCnt[n]++;
        }
        else{
            sum[n] += sum[n - 1] + tmp;
            num[n] = tmp;
            n++;
        }
    }
    // 先把自身的情况算进去
    int ans = k;
    // 计算所有数字的和
    ll m = sum[n - 1] + oneCnt[n];
    f

全部评论 (0)

还没有任何评论哟~