#include #include int bld(const char *t, int start, int end){ int c[256]; memset(c+64, 0, 64*4); for(; start>= 1; n <<= 1; l += n; } return l; } int main(){ char t[300001]; int n=0; int m= 0; scanf("%d %s", &n, t); int c[256]; for(int i=0; i m) m = l; } } else if(c[t[j]] == 1){ if( (l+1) == j - i ){ if( l + 1 > m ) m = l + 1; } } /*if(bld(t, i, j) == j-i){ printf("%d", j-i); return 0; }*/ } for(int j=64; j<128; j++){ if(c[j] == 1){ l++; break; } } if(l == n - i && l > m){ m = l; } if(m == n - i){ printf("%d", m); return 0; } // printf("%d: %d %d\n", i, l, n - i); } printf("%d", m); }