80分求调
查看原帖
80分求调
1459898
Chester0720楼主2024/12/26 19:17
#include <iostream>
#include <vector>
#include <cmath>
using namespace std;

int main() {
    int n;
    cin >> n;
    vector<int> v(n);
    for (int i = 0; i < n; i++) {
        cin >> v[i];
    }

    int a[1000] ;
    for (int i = 1; i <= n; i++) {
        if (i >= 1) a[i] = 1;
        if (i >= 3) a[i] = 2;
        if (i >= 7) a[i] = 3;
        if (i >= 30) a[i] = 4;
        if (i >= 120) a[i] = 5;
        if (i >= 365) a[i] = 6;
    }
    long long sum = 0;
    int constant = 0;
    for (int i = 0; i < n; i++) {
        int j=0;
        if (v[i] == 1) {
            j=0;
            constant++;
            sum += a[constant];
        }
        else {
            j = 1;
            if (constant >= (1 << (j - 1)) ) {
                constant -= (1 << (j - 1));
                j++;
            }
            if (constant < 0) constant = 0;
        }
    }
    cout << sum;
    return 0;
}

求助

2024/12/26 19:17
加载中...