func_code_string: #include <bits/stdc++.h>   using namespace std;   int i, j, k, n, t, f[4], ans, a[2048], l1[2048], r2[2048];   int main() {     scanf( %d , &n);     for (i = 1; i <= n; ++i) {       scanf( %d , a + i);       l1[i] = l1[i - 1] + (a[i] == 1);       for (j = a[i]; ~j; --j)         if (f[j] + 1 > f[a[i]]) f[a[i]] = f[j] + 1;     }     ans = f[1] > f[2] ? f[1] : f[2];     for (i = n; i; --i) r2[i] = r2[i + 1] + (a[i] == 2);     for (i = 1; i <= n; ++i) {       f[1] = f[2] = 0;       for (k = i; k <= n; ++k) {         for (j = a[k]; j < 4; ++j)           if (f[j] + 1 > f[a[k]]) f[a[k]] = f[j] + 1;         t = l1[i - 1] + r2[k + 1] + (f[1] > f[2] ? f[1] : f[2]);         ans = ans < t ? t : ans;       }     }     printf( %d , ans);   }   