#include using namespace std; #define all(x) begin(x), end(x) using ll = long long; using ld = long double; using pii = pair; using vi = vector; int main() { ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); int n; cin >> n; vi a(n); for (auto& x : a) { cin >> x; } // Size of the i-th mochi is A[i] vector b; int last_val = -1; int last_count = 0; for (int i = 0; i < n; ++i) { if (a[i] == last_val) { ++last_count; } else { if (last_count > 0) { b.push_back(last_count); } last_val = a[i]; last_count = 1; } } if (last_count > 0) { b.push_back(last_count); } vi dp(b.size() + 1, 0); dp[1] = b[0]; for (int i = 1; i < b.size(); ++i) { dp[i + 1] = max(b[i] + dp[i - 1], dp[i]); } cout << *max_element(all(dp)) << '\n'; return 0; }