La subcadena ordenada de Nasser#13083

La subcadena ordenada de Nasser

1 segundo
256 megabytes

Nasser te dará una cadena de letras minúsculas del alfabeto inglés.

Se te permite realizar a lo sumo una operación:

Tu tarea es determinar la subcadena ordenada más larga que puedes conseguir después de realizar a lo sumo un cambio.

Una subcadena ordenada es una parte contigua de la cadena en la que cada carácter es mayor o igual que el anterior (orden no decreciente).

Entrada

Cada test contiene múltiples casos de prueba. La primera línea contiene un único entero (1 \le t \le 10^4) — el número de casos de prueba. A continuación sigue la descripción de los casos de prueba.

La primera línea de cada caso de prueba contiene un entero (1 \le n \le 2 \cdot 10^5) — la longitud de la cadena.

La segunda línea de cada caso de prueba contiene una cadena de longitud , formada por letras minúsculas del alfabeto inglés (de 'a' a 'z').

Se garantiza que la suma de sobre todos los casos de prueba no excede 2 \cdot 10^5.

Salida

Para cada caso de prueba, imprime un único entero — la longitud de la subcadena ordenada más larga que se puede obtener después de realizar a lo sumo un cambio de carácter.

Ejemplos

Ejemplo 1

Loading
Loading

Nota

En el tercer caso de prueba, n=4, s=\texttt{``abca''}:

  • La cadena no está completamente ordenada, ya que s[3]=\texttt{'c'} > s[4]=\texttt{'a'}.

  • Podemos cambiar s[4]=\texttt{'a'} por : se convierte en , que está completamente ordenada. Longitud .

  • También podemos cambiar s[4]=\texttt{'a'} por : se convierte en , que está completamente ordenada. Longitud .

  • Ningún cambio único puede dar una subcadena ordenada de longitud mayor que .

  • Respuesta: .

Puntuación

  1. Subtarea ( puntos) : (1 \le \sum n \le 1000)

  2. Subtarea ( puntos) : La cadena consta de a lo sumo caracteres distintos.

  3. Subtarea ( puntos) : Sin restricciones adicionales.