Nasser'in Sıralı Alt Dizgisi#13083

Nasser'in Sıralı Alt Dizgisi

1 saniye
256 megabayt

Nasser size küçük İngiliz harflerinden oluşan bir dizgisi verecek.

En fazla bir işlem gerçekleştirmenize izin verilir:

Göreviniz, en fazla bir değişiklik yaptıktan sonra elde edebileceğiniz en uzun sıralı alt dizgiyi belirlemektir.

Sıralı alt dizgi, her karakterin kendinden öncekinden büyük veya ona eşit olduğu (azalmayan sırada) dizginin bitişik bir parçasıdır.

Giriş

Her test birden fazla test durumu içerir. İlk satırda tek bir tam sayı (1 \le t \le 10^4) — test durumlarının sayısı verilir. Ardından test durumlarının açıklaması gelir.

Her test durumunun ilk satırında bir tam sayı (1 \le n \le 2 \cdot 10^5) — dizginin uzunluğu verilir.

Her test durumunun ikinci satırında küçük İngiliz harflerinden ('a' ile 'z' arası) oluşan uzunluğunda bir dizgisi verilir.

Tüm test durumları üzerinden değerleri toplamının 2 \cdot 10^5 değerini aşmadığı garanti edilir.

Çıktı

Her test durumu için tek bir tam sayı — en fazla bir karakter değişikliği yapıldıktan sonra elde edilebilecek en uzun sıralı alt dizginin uzunluğunu yazdırın.

Örnekler

Örnek 1

Loading
Loading

Not

Üçüncü test durumunda n=4, s=\texttt{``abca''}:

  • s[3]=\texttt{'c'} > s[4]=\texttt{'a'} olduğundan dizgi tamamen sıralı değildir.

  • s[4]=\texttt{'a'} karakterini ile değiştirebiliriz: olur ve tamamen sıralı hale gelir. Uzunluk .

  • Ayrıca s[4]=\texttt{'a'} karakterini ile de değiştirebiliriz: olur ve tamamen sıralı hale gelir. Uzunluk .

  • Tek bir değişiklikle uzunluğu 'ten büyük sıralı bir alt dizgi elde edilemez.

  • Cevap: .

Puanlama

  1. Alt görev ( puan) : (1 \le \sum n \le 1000)

  2. Alt görev ( puan) : dizgisi en fazla farklı karakterden oluşur.

  3. Alt görev ( puan) : Ek kısıtlama yoktur.