#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;
}
求助