func_code_string: #include <bits/stdc++.h>   using namespace std;   int arr[500010];   int d1[500010];   int d2[500010];   int main() {     int n;     cin >> n;     for (int i = (0); i < (int)(n); i++) cin >> arr[i];     int last2left = 0;     for (int i = (1); i < (int)(n - 1); i++) {       if (arr[i] == arr[i - 1]) {         last2left = i;         d1[i] = i;       } else {         d1[i] = last2left;       }     }     last2left = n - 1;     for (int i = (n - 1 - 1); i >= (int)(1); i--) {       if (arr[i] == arr[i + 1]) {         last2left = i;         d2[i] = i;       } else {         d2[i] = last2left;       }     }     int res = 0;     for (int i = (1); i < (int)(n - 1); i++)       res = max(res, min(i - d1[i], d2[i] - i));     cout << res << endl;     cout << arr[0] <<    ;     for (int i = (1); i < (int)(n - 1); i++)       cout << ((i - d1[i] < d2[i] - i) ? arr[d1[i]] : arr[d2[i]]) <<    ;     cout << arr[n - 1] << endl;   }   