Laiko ribojimas: 1s
Atminties ribojimas: 64MB
Duomenų failas: intervalas.in
Rezultatų failas: intervalas.out
Intervalas
Šiame uždavinyje jums pateikta simbolių eilutė, kurią sudaro mažųjų lotyniškos abėcėlės raidžių, bei sveikasis skaičius
. Jūsų užduotis - rasti ilgiausio simbolių intervalo (angl. substring), kuriame būtų lygiai
skirtingų simbolių, ilgį, arba pranešti, kad toks intervalas neegzistuoja.
Pavyzdžiui, tegu yra duota simbolių eilutė abcbdbdbbdcdabd. Tuomet:
- Jei
, tai ieškomas ilgis būtų 7, nes egzistuoja simbolių intervalas bdbdbbd, kuriame yra lygiai 2 skirtingos raidės.
- Jei
, tai ieškomas ilgis būtų 11, nes egzistuoja simbolių intervalas bcbdbdbbdcd, kuriame yra lygiai 3 skirtingos raidės;
- Jei
, tai reikalingas simbolių intervalas neegzistuoja, nes visoje simbolių eilutėje yra tik 4 skirtingos raidės.
Pradiniai duomenys
Pirmoje eilutėje pateiktas vienas sveikasis skaičius (
).
Antroje eilutėje pateikta simbolių eiluė (
). Yra garantuota, kad simbolių eilutę sudaro tik mažosios lotyniškos abėcėlės raidės.
Rezultatai
Jūsų programa turi išvesti vieną sveikąjį skaičių: , jei ieškomas simbolių intervalas neegzistuoja, arba ieškomo simbolių intervalo ilgį.
Pavyzdžiai
Pradiniai duomenys | Rezultatai |
---|---|
2 abcbdbdbbdcdabd |
7 |
3 abcbdbdbbdcdabd |
11 |
5 abcbdbdbbdcdabd |
-1 |