intsolve(int n, int* arr){ int res = 0; deque<int> q; for (int i = 0; i < n; i++) { if (q.empty() || (!q.empty() && arr[i] == q.back()) || (!q.empty() && q.front() != arr[i])) { q.push_back(arr[i]); }
elseif (!q.empty() && q.back() != arr[i]) { int x = q.front(); int c0 = 0; while (q.front() == x) { q.pop_front(); c0++; } int c1 = q.size(); res = max(res, 2 * min(c0, c1)); q.push_back(arr[i]); } } if (!q.empty()) { int x = q.front(); int c0 = 0; while (q.front() == x) { q.pop_front(); c0++; } int c1 = q.size(); res = max(res, 2 * min(c0, c1)); }
return res; }
intmain(){ int n; while (!(cin >> n).eof()) { int* arr = newint[n + 10]; for (int i = 0; i < n; i++) cin >> arr[i]; int ans = solve(n, arr); cout << ans << endl; }